ジョバンニは放課後、文選工の仕事をしている。彼の唯一の友達はカンパネルラだが、最近はあまり口を聞かなくなっている。星祭りの夜、ジョバンニは病気の母親に飲ませる牛乳をとりに行くため、一人町はずれを歩いていた。彼はいつの間にか、天気輪の丘へ来ており、気がつくと巨大な機関車が停車していた。ジョバンニが魅せられたように乗り込むと、汽車は銀の砂をまいたような星の野原へと走り出した。汽車にはカムパネルラも乗っていた。やがて、「白鳥ステーション」に着き、20分停車のため二人は汽車を降りる。らせん階段を下ると、そこは河原で学者達がボスという百二十万年前の動物の骨を発掘している所だった。二人が再び、銀河鉄道に乗り込むといろいろな人が乗っていた。無線室で、盲目の無線技師が讃美歌の歌詞と、大型客船が氷山に衝突して沈んだという知らせをキャッチする。検札が来、自分の切符の行先とカムパネルラのものが違うと知ったジョバンニは、「どうして僕は一緒に行けないんだ?」と問うが、カムパネルラは答えない。少女かおりと少年ただしが、青年に手を引かれ乗って来た。氷山に衝突して沈んだ船に乗っていたという。さきほどの讃美歌が聞こえ、青年とかおりとただしが一緒に歌いはじめた。汽車はとうもろこし畑を通り抜け、ハレルヤの大合唱が聞こえた後、巨大な十字架の前に停った。乗客がみな降りて、十字架の方へと列になって行く。車内はジョバンニとカムパネルラだけになった。「僕達、どこまでも一緒に行こうね」とジョバンニは言う。カムパネルラの目には涙があふれそうだった。汽車は大きな石炭袋の中へ入って行く。真黒な闇の中、後部車両へと駆駆けて行くカムパネルラ。彼は最後尾のデッキへ出ると、追いかけるジョバンニの手前で境の扉を閉めてしまう。ガラスの向こうでカムパネルラの唇が「さようなら、ジョバンニ」と動いた。カムパネルラの名を呼びながら、ジョバンニが目を覚ますと、そこはすすきの原。あわてて牛乳を待って町へ降りたジョバンニを待っていたのは、カムパネルラが友達を助けようとして川に落ちて死んだという知らせだった。