Lake Toba is the largest lake in Southeast Asia and one of the highlights visiting Sumatra. The nearest big city is Medan, and it takes about four hours by road to travel from Medan to Parapat (the main city on the lake).
There is also a railway network in North Sumatra, with Medan as the hub city. One of the railway lines goes from Medan to Siantar, which is about three quarters of the way to Parapat.
[Medan Railway Station]
With a bit of planning it’s possible to get to Lake Toba by train and bus, but after reading this article, you might find that it’s not worth the hassle.
Medan to Lake Toba Map
[Map of how to get from Medan to Lake Toba by train and bus.]
Medan to Lake Toba by train and bus
Medan to Lake Toba by train and bus invloves getting a train from Medan to Pematangsiantar (also known as Siantar) and then getting transport to Parapat. At Parapat you can get the passenger ferry to Tuk-Tuk on the island of Samosir in Lake Toba.
There is only one train a day in each direction, so you have to plan your trip accordingly.
The train from Medan leaves at 12.05. I bought my ticket at the station and it cost 22,000 IDR (approx $1.50 USD). Tickets are sold on the official website at kai.id, but I could not get the tickets to show. It’s not a user-friendly site for those of us who don’t speak Bahasa Indonesia. Tiket has more user-friendly site but I also had trouble finding tickets.
The train is all-economy seating with assigned seats.
The trains in Sumatra have seated toilets…
…and squat toilets.
There is no wifi onboard and no food service on this route. The views on the way are a combination of farmland (rice fields), forests, rubber plantations, and palm oil plantations. Lots and lots of palm oil plantations.
[A view of palm oil plantations through the tinted windows of the Siantar Ekspres.]
The train arrives at Siantar at 14.48.
Once you exit the station you will be greeted with the usual gaggle of taxi drivers looking for customers. There is no transfer bus of any kind, or instructions of how to get to Parapat. It seemed that I was the only one taking this convoluted way of getting to Lake Toba.
I was approached by a motorbike taxi rider, and without having any better idea of what to do I said “Parapat bus”. The rider took me across town to the minivan station for Parapat. The motorbike taxi cost 20,000 IDR. If you have Gojek or Grab you could enter the minivan stop as shown on the map (correct at the time of my trip).
I arrived at the station at 3pm and a minibus was just about to leave. I said to the driver “Tuk-Tuk”, and that was enough for the driver to know that I want to go to the ferry pier for Tuk-Tuk. The minibus cost 25,000 IDR.
The minibus was dilapidated and cramped, with people and cargo getting on and off throughout the trip. Here is the photo of the legroom.
The trip took 1h 15m to go from Siantar to Parapat. It doesn’t look far on the map, but the road is narrow and full of traffic.
[Traffic on the road to Parapat (note the kids hanging out the side of the school bus).]
The driver will drop you off at the market next to the pier.
[Happy to see the back of that minibus after it dropped me off in Parapat.]
The next ferry was at 4.30pm and it takes 30 minutes to make the crossing. The Parapat-Tuk-Tuk ferry cost 25,000 IDR.
The ferry then goes around the Tuk-Tuk peninsula, stopping at the main hotel piers, which takes another 30 minutes (I was at the last stop). I got to my hotel at 5.30pm.
[Samosir Cottages Resort is one of the hotels that the ferry stops at.]
Lake Toba to Medan by bus and train
The return leg is more complicated because it can’t be done in one day. I did it for the sake of this article, but it’s not worth it unless you really want to get the train.
The problem with this leg is that the one train from Siantar to Medan leaves at 6.40 in the morning. It’s impossible to get the ferry and bus from Tuk-Tuk to Siantar before then. I stayed in Siantar the night before to get the morning train.
Going from Tuk-Tuk to Siantar, I got the ferry to Parapat, and then asked an angkot (shared minivan) driver for the Siantar bus.
[Parapat transport area near the ferry pier.]
I was taken to a cafe to wait for the bus. The bus arrived and then drove to the bus station. It’s a chaotic system, but you just have to resign yourself to it and trust it will work.
This time I was put on a big bus with nice seats and leg room. The bus took 1 h 40 m, which is slower than the minibus. This bus continues to Medan, so it gave me a preview of what my trip would have been like if I just got the bus instead of this ridiculous two-day trip. The big bus from Parapat to Siantar cost 25,000 IDR (same as the minibus).
[Medan bus at Siantar]
I’ve been to Lake Toba a few times, but I had never stopped to look around Siantar. I’m happy to visit almost anywhere once, and I like visiting random provincial cities after being somewhere touristy.
I marked out some likely sites on Google Maps and had a wander around.
There are some interesting old shophouses in Siantar. It’s too bad they have not been put to good use.
I went to the station to get some photos and make sure there wasn’t another train (there wasn’t).
There is a cool cafe opposite the station, but I found out it’s not open when the one train per day departs.
[Cafe opposite Siantar Station.]
The train from Siantar departs at 6.40 and arrives in Medan at 9.42.
I hadn’t booked any tickets in advance while using the railways of Sumatra, and there were plenty of seats on the trip from Medan to Siantar. When I arrived at the booking office in the morning I was told it was standing-room only. All the assigned seats had sold out.
People can book on the KAI app, which appears to be the most popular way. I bought a ticket and resigned myself to standing for the next three hours. I could hardly complain for $1.50.
In the waiting area I noticed a lot of women without luggage. It was Sunday morning, so the train was most likely day trippers to Medan.
Boarding the train to Medan at day break.
The train was indeed full, so I picked any carriage and took my place in the aisle.
A man asked my why I was standing so I showed him my ticket. He doubled over laughing when he saw my standing ticket, and everyone nearby had a bit of a laugh as well. They made room for me on these bench seats.
The group that took me in also shared some breakfast cake with me.
More people got on as the trip progressed, and I ended up being moved about each time as other people took their seats.
The train arrived in Medan on time, which had been my experience on all of the trains in North Sumatra. There are not many trains so delays shouldn’t be an issue.
Kualanamu International Airport to Lake Toba by train and bus
Medan is one of the few cities in Southeast Asia with an airport railway. There is no direct service from Kualanamu International Airport to Siantar, but you could get the train from Kualanamu to Medan and then get the train to Siantar. This also might not be worth it because there are direct bus services from Kualanamu to Parapat. You also have to get to Medan by midday to get the train.
Is it worth getting the train and bus combo to Lake Toba?
As a rail enthusiast I enjoyed this trip, but there is a lot of friction involved. Going from Medan to Lake Toba is the best option, depending on your schedule. If you are overlanding Sumatra from North to South then the return leg doesn’t matter. After Lake Toba, most overlanders head towards Bukittinggi.
If you are not continuing further in Sumatra, the nearest airport is at Silangit (Sisingamangaraja XII International Airport) for flights to Batam and Jakarta. That will save you backtracking to Medan.
If you are overlanding from South to North, then it is going to take two travel days to get from Lake Toba to Medan if you take the train.
Future train to Lake Toba
There are plans to extend railway from Siantar to Lake Toba, which would make it a joy to travel to Lake Toba. The plan is part of the government’s 10 New Balis project (now scaled down to 5 New Bali). The plan is to develop 10 (or 5 now) destinations around Indonesia to try and spread visitors around the country instead of just visiting Bali and nowhere else.
After riding the train though, I can see why the train stops at Siantar. It is relatively flat from Medan to Siantar, while the Siantar to Parapat section is more rugged terrain. Then there is matter of getting the train inside the caldera to Parapat.
This future train to Lake Toba might eventually be connected to a Trans-Sumatra Railway. For now though, you will have to be content with the train and bus combo.
[Samosir Island in Lake Toba is worth the transport drama.]
Read more about train travel in Sumatra.