Сюжет
Действие картины начинается в сентябре 1945 года. На далёкую сибирскую железнодорожную станцию Край приезжает демобилизованный танкист, в прошлом паровозный машинист Игнат. В пристанционном посёлке живут ссыльнопоселенцы, которые, будучи на оккупированной территории, работали в немецких лагерях или на немецких граждан в качестве слуг или рабочих. Все они заняты на лесозаготовках. Советскую власть представляет бывший фронтовик, инвалид без правой руки Колыванов.
К станции ведёт двухпутная ветка широкой колеи. Лес вывозится на платформах, которые ссыльные грузят вручную. На вывозе задействованы два паровоза: один из них — Эу 683-32, приписанный к крошечному депо на станции Край, второй — Эр 766-41, приписанный к другому депо (очевидно, расположенному на другой станции), водит его машинист-армянин Саркисян. Игнат требует у Колыванова отдать паровоз ему, паровозному машинист-профессионалу, знающему своё дело лучше других. Колыванов возражает ему, так как тот — машинист списанный, имел контузии и страдает припадками, но Игнат требует своего, угрожая уехать из посёлка, так как он не ссыльнопоселенец, а вольнонаёмный и, кроме того, — воин-победитель.
Впоследствии Игнат рассказывает, что в довоенные годы водил паровоз ИС, и называет даже рекорд скорости, который ему удалось установить, — 163 км/час, правда, он при этом превысил котловое давление, а паровоз сошёл с рельсов.
Игнат быстро сходится с красавицей Софьей, воспитывающей спасённого ею в Германии немого мальчика Пашку. Чтобы доказать своё мастерство, Игнат устраивает гонки на паровозах с Саркисяном. Гонки чуть не заканчиваются катастрофой, в результате чего Колыванов отказывает Игнату в получении своего паровоза. Несколько позже обескураженный Игнат узнаёт от местного жителя — спекулянта Вовки — о забытом паровозе, стоящем на острове за разрушенным мостом. Игнат отправляется в указанное место и действительно находит там заброшенный паровоз и одичавшую немку Эльзу — дочь немецкого инженера, работавшего в Сибири ещё до войны. Девушке удалось бежать во время ареста её отца и его помощника Густава сотрудниками НКВД по обвинению во вредительстве после того, как во время ледохода обрушилась часть построенного ими железнодорожного моста на остров. Чтобы дать Эльзе возможность спастись, её отец и Густав, безоружные вступают в схватку с чекистами и погибают, причем отца Эльзы убивает из пистолета командир НКВДэшников. Все эти годы она, подобно Робинзону Крузо, провела одна на таёжном острове. Она не говорит по-русски и ничего не знает о войне. Эльза жила в находившемся на острове небольшом паровозе, который назвала «Густав». Игнат и Эльза строят из пары рельс, досок и веревок хлипкий мост, разрушившийся после первого же проезда по нему, но им удаётся пригнать паровоз на станцию. Несмотря на ненависть к немцам, Игнат берёт Эльзу под опеку.
Вскоре у Игната появляется чувство к Эльзе. Услышав её немецкую речь, мальчик Пашка внезапно начинает говорит — тоже по немецки. Эльза и Пашка начинают дружить. В женской бане происходит драка между Софьей и Эльзой. На помощь Софье бросаются остальные женщины, но немке удаётся отстоять своё положение в посёлке.
Для повышения скорости Игнат установил на паровозе воздушный обтекатель, сделанный им из украденных листов кровельного железа. Эльза хочет написать на обретённом Игнатом паровозе немецкое имя «Gustav», которым она все эти годы звала паровоз. После ссоры Игнат идёт на компромисс, и паровоз получает это имя, но в русском написании: «Густав». Жители Края, видя паровоз с немецким именем, приходят в ярость, и лишь начавшийся пожар в местной бане отвлекает их от расправы над Игнатом и Эльзой.
Страсти накаляются с приездом «Фишмана», майора НКВД, некогда убившего отца Эльзы. Узнав о происходящем в посёлке, он забирает Пашку и Эльзу. Софья не хочет отдавать приёмыша. Чекист убивает Софью, сажает Эльзу и Пашку в вагон-теплушку и готовится уехать. Но машинист паровоза, на котором приехал майор, не желает подчиняться последнему и уходит с рабочего места. Тогда офицер сам трогает локомотив с места и уезжает. Вдогонку на своём паровозе бросается Игнат. Жители посёлка отправляются следом на другом паровозе. Игнату удаётся догнать паровоз майора. В перебранке выясняется, что «Фишман» — имя не чекиста, а его паровоза, придуманного по буквам ФШ-М, нанесенным на борт. Хотя «Фишман» значительно мощнее «Густава», Игнату удаётся обогнать паровоз чекиста и «подрезать» его на стрелке. Происходит столкновение. Когда облака пара рассеиваются, выбравшийся из кабины «Густава» Игнат показывает чекисту снятый со своего паровоза скоростемер, застывший на рекордной цифре 75 км/ч, а потом бьёт изумлённого НКВД-шника этим прибором по голове. Повредившись от удара рассудком, чекист уезжает на велосипеде по шпалам, забыв, видимо, зачем он вообще сюда приехал.
В финале Игнат, Пашка и Эльза едут в новую жизнь на дрезине. За кадром голос Эльзы на русском языке с акцентом рассказывает, что впоследствии она родила Игнату троих детей, Пашка ходит в школу и поёт в хоре. Дома она разговаривает, а на людях ей приходится притворяться немой, чтобы своим немецким акцентом не вызывать в окружающих ненависть к себе и не создавать подозрений со стороны НКВД. По её словам, «у нас убогих не обижают».