The distance between Lake Toba and Semarang is around 1,785km (1,109 miles) and the quickest way to get there is to take a ferry, then drive and then fly which takes around 5h 40m.
We've found 4 different ways to get from Lake Toba to Semarang by ferry, car, plane, train and bus. The recommended routes, which include information on duration, ticket price, and level of difficulty, can be found below.
👋 Also check out Semarang → Lake Toba if you're planning a return trip.
Take a ferry to Ajibata then drive to Silangit (DTB) then fly from Silangit (DTB) to Ahmad Yani (SRG).
Multiple operators
Drive to Bakauheni Port then take a ferry to Merak then drive to Semarang.
Multiple operators
2 similiar routes
We’ve grouped similar routes together, click the arrows to see the other options.
There are several options for getting from Lake Toba to Semarang by ferry, car, plane, train and bus. The cheapest option is to take a ferry, then drive, then take the train and then take the bus which costs around IDR 1,407,930 ($95) and will take around 2 days 7h. If you need to get there more quickly, you can take a ferry, then drive and then fly and arrive in approximately 5h 40m, though it is a bit more costly at approximately IDR 2,306,605 ($155).
The distance between Lake Toba and Semarang is around 1,785km (1,109 miles). In a direct line (as the crow flies), the distance is 1,666km (1,035 miles)
It takes around 5h 40m to get from Lake Toba and Semarang by ferry, car and plane.
The quickest way to get from Lake Toba to Semarang is to take a ferry, then drive and then fly which takes around 5h 40m and will set you back approx IDR 2,306,605 ($155).
The cheapest way to travel between Lake Toba and Semarang is to take a ferry, then drive, then take the train and then take the bus which will typically cost around IDR 1,407,930 ($95) for a standard one-way ticket.
There is no train service that runs between Lake Toba and Semarang. We recommend that you take a ferry to Ajibata then drive to Silangit (DTB) then fly from Silangit (DTB) to Ahmad Yani (SRG). instead which will take 5h 40m.
Sorry, looks like there is no bus service that runs between Lake Toba and Semarang. We recommend that you take a ferry to Ajibata then drive to Silangit (DTB) then fly from Silangit (DTB) to Ahmad Yani (SRG). instead which will take 5h 40m.
It doesn't look like you can fly directly from Lake Toba to Semarang. We recommend that you take a ferry to Ajibata then drive to Silangit (DTB) then fly from Silangit (DTB) to Ahmad Yani (SRG). instead which will take 5h 40m.
The closest major airport to Semarang is Achmad Yani International Airport (SRG) (SRG) which is approximately 5km (3 miles) from Semarang. Adisumarmo International Airport (SOC) (SOC) and Adisucipto Airport (JOG) (JOG) are also nearby and might be a better alternative airport depending on where you are flying from.
No, its not really possible or feasible to drive from Lake Toba to Semarang. We recommend that you take a ferry to Ajibata then drive to Silangit (DTB) then fly from Silangit (DTB) to Ahmad Yani (SRG). instead which will take 5h 40m.
If you don't have a car, the easiest way to get from Lake Toba to Semarang is to take a ferry, then drive and then fly which takes, on average, 5h 40m and will usually cost around IDR 2,306,605 ($155).
Transport option | Duration | Cost | Frequency | Distance |
---|---|---|---|---|
Ferry, Car and Plane | 5h 40m | IDR 2,306,605($155) | 4 times a day | 1,785km (1,109 miles) |
Car and Ferry + 2 similar | 1 day 8h | IDR 3,744,490($250) | hourly | 2,265km (1,407 miles) |
Ferry and Bus | 2 days 10h | IDR 1,527,750($100) | once daily | 2,560km (1,591 miles) |
Ferry, Car, Train and Bus | 2 days 7h | IDR 1,407,930($95) | once daily | 2,573km (1,599 miles) |
Putra Pelangi
Local Bus Indonesia
Nusantara
Kereta API
ASDP Indonesia Ferry
Damri
Batik Air
The following major airports near Semarang offer regular flights to various popular destinations within Indonesia and internationally.