OverlandSEA

Rail-first journey planning across Southeast Asia

Bangkok to Kunming by train

Almost all of it on rails since 2021 — and the crossing that turns people back.

3 legs · 2 days · 2 borders · about $122 all in

Open this route in the planner Change the pace, the beds or the passport and the numbers follow.

Pragmatic routing

Bangkok Kunming overland

2days
3legs
2borders
$122all in
19h 54mon rails
45mby road

Bangkok to Kunming is a genuine rail journey almost end to end: 3 legs (2 on rails, 1 by road) across 3 countries, with 2 frontiers in between. The one to watch: Boten ↔ Mohan needs a visa you cannot get at the border. It is genuinely enjoyable rather than merely possible: 9h of this is worth riding for its own sake, and the sleepers replace hotel nights rather than costing you days.

2 timezones: UTC+7, UTC+8

Convert every published time to a single clock in your own notes before you book. Operators publish in their own local time and label it inconsistently.

Stations that catch people out

  • Krung Thep Aphiwat Bangkok's long-distance terminal since 2023 — not the old Hua Lamphong. Confirm which terminal your specific train uses.
  • Pak Chong The railhead for Khao Yai. The park gate is a further songthaew or taxi ride.
  • Vientiane (Khamsavath) Serves ONLY southbound trains to Thailand. 15 km from Banthen, no rail link between them.
  • Vientiane (Banthen) Serves ONLY northbound LCR trains to Luang Prabang and China. Not the station for Thailand.

The route

Durations are typical scheduled running times, not departures, and the figure under each service is how often it runs — the number that decides whether a missed connection costs you an hour or a day. Where a last departure is shown it is the one worth setting an alarm for. No planner in this region can give you a departure time you should trust: the operators publish nothing in common. Take these legs to the booking sites below and read the real clock there.

Leg & operatorTimeFare
1 Krung Thep Aphiwat Vientiane (Khamsavath) State Railway of Thailand Reported Rapid 133/134 · Special Express 25/26 5 a day · two by day, three overnight to Bangkok via Pak Chong · Korat · Khon Kaen · Udon Thani · Nong Khai Book with SRTdticket.railway.co.th 10h 54m $34
Change at Vientiane (Khamsavath) allow 3 h minimum Cross-city transfer between two unconnected stations
2 Vientiane (Khamsavath) Vientiane (Banthen) Local transfer Structural Taxi across Vientiane on demand · taxis wait for arrivals; a full train empties the rank in minutes Two unconnected railways on two gauges, 15 km apart. There is no rail link and there will not be one soon. Expect a taxi queue when a full train empties out. Pay on the spot 45m $12
Change at Vientiane (Banthen) allow 90 min minimum Same station, different operators — no through ticketing, no held connection
3 Vientiane (Banthen) Kunming South Laos–China Railway Reported Laos–China Railway EMU2nd class seat 8 a day · roughly every two hours via Phonhong · Vang Vieng · Kasi · Luang Prabang · Muang Nga · Muang Xay · +4 more No bookable site of its own — try 12Go12go.asia 9h $76

Day by day

Shape, not a timetable. This is built from running times, the connection buffers above and your chosen pace — it deliberately states no departure time, because none of these operators publish one this page could stand behind. Use it to decide how many nights to book and where; use the operator sites for the clock.

Day 1 13h 54m moving
  • Bangkok Vientiane Rapid 133/134 · Special Express 25/26 10h 54m
Night aboard — Rapid 133/134 · Special Express 25/26
Day 2 11h 15m moving
  • Vientiane (Khamsavath) Vientiane (Banthen) Taxi across Vientiane 45m
  • Vientiane Kunming Laos–China Railway EMU 9h
Arrive

Where you sleep

Every night on this route is spent moving — 1 aboard a sleeper, a bed already inside the fare. Nothing to book and nothing to pay.

Border crossings

Itineraries die at frontiers, not on track. Never plan one of these without checking the current position for your own passport.

Khamsavath ↔ Nong Khai

Laos ↔ Thailand
Where
Lao formalities at Khamsavath, Thai immigration and customs at Nong Khai
On the train?
Yes, on the through sleeper
Luggage
Yes — all luggage comes off the train at Nong Khai for customs
Visa
Lao visa-on-arrival is generally available; Thai entry is visa-exempt for many nationalities. Confirm for your passport.
Cash on the far side
Small amounts of Thai baht and Lao kip.
Time cost
About 60 minutes of formalities

The trap. You must take every bag off the train at Nong Khai for customs. Travellers who do not know this get caught out at night, half asleep, and hold up the carriage. Separately: arriving at Khamsavath does not put you on the Laos–China Railway — that is Banthen, 15 km away, different gauge, separate ticket.

Boten ↔ Mohan

Laos ↔ China
Where
On the train, stopping at both stations
On the train?
Off and on — Lao exit at Boten, re-board, Chinese entry at Mohan
Luggage
Partial — off for scanning at Mohan
Visa
A Chinese visa must already be in your passport. There is no reliable visa-on-arrival at the Mohan railway checkpoint.
Cash on the far side
Carry a small amount of Chinese yuan — border ATMs fail routinely.
Time cost
About 90 minutes of formalities

The trap. China's transit-visa-free and unilateral visa-free arrangements are usually air-arrival specific. Do not assume a policy that works at an airport works at a land rail crossing. This is the crossing that most often defeats travellers, and it defeats them on documents rather than logistics.

Where this breaks

Ranked by what actually ends trips, not by probability. A missed last connection costs a day and an unplanned hotel; a missed afternoon connection costs an afternoon.

  1. critical

    Boten ↔ Mohan needs a visa you cannot get at the border

    A Chinese visa must already be in your passport. There is no reliable visa-on-arrival at the Mohan railway checkpoint. China's transit-visa-free and unilateral visa-free arrangements are usually air-arrival specific. Do not assume a policy that works at an airport works at a land rail crossing. This is the crossing that most often defeats travellers, and it defeats them on documents rather than logistics.

    What to do. Obtain the visa before you leave. If you cannot, this half of the route is closed to you and the itinerary should be replanned to stop short of the frontier.

  2. caution

    Vientiane (Khamsavath) needs 3 hours, not a connection

    Cross-city transfer between two unconnected stations. A gap smaller than this is not a connection — it is a missed train with a plausible-looking timetable behind it.

    What to do. Allow the full window, and prefer a later onward service over the tightest one that appears to work.

Booking sequence

Book in order of scarcity times window length, not in the order you travel. The shortest leg on the whole spine sells out first.

  1. 1

    Laos–China Railway

    Historically days rather than weeks — verify the current window

    Scarcest inventory in the region and the hardest to book independently from abroad.

    Station counters and the Lao ticketing app. From abroad an agent or aggregator is the practical route in — this is the hardest ticket in the region to buy independently, and the sale window is short.

    No bookable site of its own — try 12Go12go.asia
  2. 2

    State Railway of Thailand

    ~90 days

    Sleepers on trains 9/10 and the southern overnights sell out first.

    The official e-ticket site. Foreign cards fail on it fairly often, and an aggregator is the usual fallback when they do.

    Book with SRTdticket.railway.co.th
  3. Everything else on this route, in no particular hurry:

  4. ·

    Local transfer

    Taxi, tuk-tuk, songthaew or minivan at the station. Agree the fare before you get in.

    Pay on the spot

Where an operator cannot be booked from abroad — the Laos–China Railway above all — an aggregator is the practical route in. They add a fee, and some sell tickets they do not yet hold and buy them when inventory opens, which is a genuine cancellation risk on a scarce sleeper. Prefer the operator wherever the operator actually works, which is most of the time.

No affiliate links on transport. Every booking link above goes straight to the operator or aggregator and earns this project nothing. The operator's own site is listed first because it is usually cheaper and always more reliable, not because of what it pays — that ordering is the most load-bearing judgement on this page and it is not for sale. Booking URLs were last reviewed 2026-07 and are not machine-checked — if one is dead, search the operator name rather than trusting a reseller that ranks well.

Where it does earn. The hotel links in “Where you sleep” and the insurance link below pay a commission, at no extra cost to you. They are marked as paid links. Nothing about them changes a route, a price, or the order of anything: no hotel is recommended over another and no leg is routed differently because of them.

Costs

Transport, 3 legs$122
Accommodation, 0 nights$0
1 night on a sleeper — a bed you already paid for in the fareincluded
Total$122

Against flying

2 days, $122, 3 legs versus a flight of roughly 2h 19m gate to gate at somewhere around $74–154. That fare band is estimated from the 1258 km great-circle distance, not from live inventory — check it.

On a trip this short the train is genuinely competitive, and it puts you in the middle of a city rather than an hour outside one.

If you have more time

Where the slow-travel value actually is — the detours that turn a transit into a trip.

  • Break at Luang Prabang

    +2 nights

    Two hours from Vientiane on the LCR and the most rewarding stop on the northern half. The scarce inventory is the reason to book it early, not a reason to skip it.

Photography

Network reviewed 2026-07. No leg on this route is currently flagged as volatile. Cross-check anything time-critical against the operator and against Seat61 before you book. Fares are indicative.

Plan your own version of this route