Act 1
A little boy (Control) plays races with his toy train set ('Overture'). His mother enters and tells him to go to bed - the rest of the show takes place within his dreams.
The contenders for the race are announced ('Entry of National Trains'). There is Bobo from France, Espresso from Italy, Ruhrgold from Germany, Turnov from Russia, Nintendo from Japan, the Prince of Wales from Great Britain, and last but not least, from the USA, Greaseball the diesel ('Rolling Stock').
Rusty, the little steam engine who works in the freight yard, enters. The national trains and Greaseball tease him and make fun of him, but he is adamant that he can win the race ('Call Me Rusty'). He brings in the coaches - Pearl, the brand new observation car; Dinah, the dining car and Greaseball's coach; Buffy, the buffet car; and Ashley, the smoking car - and leaves to fetch the freight trucks. The coaches are unsure about Rusty entering for the race, and persuade Pearl not to race with him as she had been going to ('A Lotta Locomotion').
The freight trucks - of whom the passenger cars are not fond - enter with Rusty ('Freight'). They argue, until there is a disruption - a new contender, Electra the electric engine, has arrived ('AC/DC'). Greaseball returns ('Pumping Iron'), and the engines argue ('Coda of Freight').
Control reminds them all of the rules - there will be two heats, and the first two trains in each heat will go through to the final. Also, each engine must race with a coach in every heat, and the next heat starts in a few minutes. The engines and coaches start to pair off, but Rusty and Pearl are both left single. Rusty can't believe his luck and invites Pearl to race with him ('Crazy'). Just when she looks as if she might, an electric minion sidles up and tells Pearl that Electra wants to race with her. After some momentary indecision ('Make Up My Heart') she agrees to race with Electra, and Rusty is left without a coach and cannot enter the first heat.
Results of Heat One:
1st - Greaseball with Dinah
2nd - Electra with Pearl
3rd - Espresso with Ashley
4th - Nintendo with Buffy
Greaseball and Electra have places in the final.
Rusty is depressed and goes to see his father, who is singing the blues ('Poppa's Blues'). Poppa tries to persuade him to enter the second heat, perhaps taking one of the freight trucks as his carriage, and tells him of the Starlight Express, a magical train who can help him. Rusty refuses to race without Pearl, so Poppa enters the race, with Dustin the big hopper.
Results of Heat Two:
1st - Poppa with Dustin
2nd - Bobo with Ashley
3rd - Turnov with Wrench
4th - Ruhrgold with Joule
Poppa wins the race, but he is worn out and can't go on. He wants Rusty to take his place in the final. Rusty won't do it initially, but after Greaseball and Electra tease him ('Laughing Stock'), he decides to enter the final. Now he knows that he must believe in the 'Starlight Express'.
Act 2
The trains get ready for the big race ('The Rap'). Greaseball and Pearl decide to race together in the final, leaving Dinah alone and depressed ('U.N.C.O.U.P.L.E.D.'). Buffy and Ashley try to comfort her ('Coaches' Rolling Stock'). Since Electra is also without a coach now, he asks Dinah to race with him, and she agrees. Ashley goes with Bobo, and Rusty takes Buffy. But the final ends in disaster - Greaseball trips Rusty, and there is a pile-up on the main bridge.
Greaseball and Electra blame the crash on Rusty, and Greaseball's gang beat him up when he insists that he will enter the rerun of the final. The Rockies (box cars) try to cheer Rusty up ('Right Place, Right Time'), but he is now thoroughly depressed and has no belief in his own abilities. Left alone, Rusty believes that he sees the Starlight Express ('Starlight Sequence'), and becomes fired up with enthusiasm. He takes Dustin and enters the final.
Meanwhile, the partnerships have changed again - Dinah is fed up of an electric train who can't whistle at her ('He Whistled At Me (Reprise)') that she has left Electra, who is now racing with Buffy. Greaseball is still with Pearl, but she is reluctant, although happy to see Rusty enter the final. During the race, she watches Rusty and doesn't pay attention to what she is doing - Greaseball becomes angry and uncouples her in the middle of the final. Pearl almost falls off the track, but Rusty, coming along behind, catches her, while Greaseball steals Bobo's coach, Ashley. Electra tries to 'zap' Greaseball, but the two of them crash, letting Rusty get across the finish line first. He leaves, without completing his lap of honour, to find Pearl.
Results of the Final:
1st - Rusty with Dustin
2nd - Greaseball with Pearl
3rd - Electra with Buffy
4th - Bobo with Ashley
Greaseball and Electra are upset about crashing ('One Rock'n'roll Too Many'). Control calls for Rusty to take his lap of honour before it is cancelled, but neither Rusty or Pearl can be found. Everyone leaves to look for them.
Pearl is sitting alone in the freight yard. She now realises that Rusty is the one for her ('Next Time You Fall In Love'), and is very happy to see him after he finds her. They return to the rest in time for the finale in praise of steam ('Light At The End Of The Tunnel').