Short pooper:
Only Su-an (Kim Su-an) and Seong-kyeong (Jung Yu-mi) survive and make it to the outskirts of Busan, in the end, on foot.
Longer version:
As the majority of the passengers onboard the train, in a domino effect, succumb to the plague transmitted by the bites of other infected and gradually become zombies, a band of survivors -standing out, amongst them: divorced father Seok-woo (Gong Yoo), travelling with his young daughter Su-an; married, expecting couple Yoon Sang-hwa (Ma Dong-seok) and Seong-kyeong; the deranged homeless man (Choi Gwi-hua) from earlier; teen baseball player Min Yong-guk (Choi Woo-shik) and his love interest, Kim Jin-hee (Sohee); train attendant Ki-chul (Jang Hyuk-hin); senior sisters In-gil (Ye Soo-jung) and Jong-gil (Park Myung-sin); coward businessman Yon-suk (Kim Eui-sung); and the train conductor himself (Jung Suk-yong)- struggle to help each other as much as possible while fighting to survive. At one point, it becomes evident, when the train starts passing through a network of tunnels, that, in the dark, the zombies become disoriented and paralyzed, thus indicating they can only act and attack sensorially -it being fully illuminated around them, or based on sudden sounds or noises-; this gives many of them a leg up to avoid the zombies by means of climbing and crawling through the upper luggage compartments of the cars. Some others have to take extended refuge in the bathrooms of the cars, avoiding being seen.
When they manage to reach a car where many other passengers still had not been infected, Yon-suk convinces everyone to block the doors and not let them in “because they definitely had to be infected, like the rest”. A desperate tug-of-war ensues, during which Yoon Sang-hwa and In-gil are attacked and infected, while the rest struggle to make their way into that cart. When they do, Seok-woo angrily jumps Yon-suk for those who died in vain, but, already goaded by Yon-suk, the group is forced into isolation in another frontal cart, which they all bind tightly. However, Jong-gil, disgusted by this, turns the table on that massive group and, bidding farewell one last time to her now zombified older sister, opens the opposite door, thus killing everyone, including herself, on that side.
Long before they can reach Busan, a blockage forces the train to an emergency stop and the conductor communicates they all must find another vacant train to resume the southbound trip. Yong-suk and Ki-chul, who were locked in a bathroom, attempt to escape as well, but Yong-suk, bound and determined to kill whomever gets in his way of surviving, betrays Ki-chul to the zombies trapped in that cart and makes a run. As the survivors scout the grounds for a clean, safe train to board -including the conductor, who does find one and immediately sets it in motion-, an out-of-control locomotive, engulfed in flames, crashes in the area, causing a split in the group and trapping Seong-kyeong, Su-an and the homeless guy under two wrecked cars swarmed with zombies trying to break through. Meanwhile, as zombies arrive and start pursuing the survivors, Yong-suk tosses Kim Jin-hee into an attacking zombie, causing her to turn and bite a heartbroken Min Yong-guk, who lets himself be killed by her; he later does the same to the conductor, who had selflessly jumped off the moving locomotive to assist him when he trips and injures himself.
Seok-woo manages to breach the wreckage to pull Su-an and Seong-kyeong, but the homeless man sacrifices himself by containing the zombies who eventually break into the wreckage space. The three board the train, but, then, Seok-woo has to fend off a chain of zombies who cling to the back of the train and threaten to halt it. When it seems they are all safe, Seok-woo comes across an infected, slowly-turning Yong-suk, whom, despite pleading for his life, they all have to fight to toss off the train, but Seok-woo gets bitten in the process. Having chained himself to the locomotive to not fall, and realizing he is now doomed, he shows Seong-kyeong how to safely operate and stop the locomotive so they can reach their destination and has a tearful goodbye with a devastated Su-an, asking her to never leave Seong-kyeong’s side. As he walks away crying in despair and the infection slowly overcomes him, he remembers the birth of his daughter and smiles, before committing suicide by jumping off the train.
Further ahead, another blockage forces Seong-kyeong to stop the train, before a tunnel, and she and Su-an abandon it and walk through the tracks, on foot, through a panorama of desolation, wreckage and rotting corpses. As they traverse the tunnel, upon reaching the other side, soldiers are on standby, pointing guns towards them, believing them to be zombies -the penumbra of the tunnel do not let the soldiers distinguish them and they both walk in a stumbly way-. In the last second, shortly before opening fire, the sniper hears Su-an singing with sadness “Aloha’oe”, a song she and her father liked, and spares them, thus making it safe and sound to the limits of Busan.