How to travel from Lake Toba to Surabaya, Indonesia

The distance between Lake Toba and Surabaya is around 2,068km (1,285 miles) and the quickest way to get there is to take a ferry, then drive and then fly which takes around 6h 10m.

3 routes found

We've found 3 different ways to get from Lake Toba to Surabaya 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 SurabayaLake Toba if you're planning a return trip.

🚀 Fastest
1
ferry
+
car
+
plane
+

Ferry, Car and Plane

Take a ferry to Ajibata then drive to Silangit (DTB) then fly from Silangit (DTB) to Juanda International (SUB).

  • Duration6h 10m
  • Flight time3h 40m
  • Typical cost
    IDR 1,737,445($115)
Operated by

Multiple operators

2
car
+
ferry
+
car
+

Car and Ferry

Drive to Bakauheni Port then take a ferry to Merak then drive to Surabaya.

  • Duration1 day 11h
  • Departshourly
  • Typical cost
    IDR 2,186,780($145)
Operated by

Multiple operators

1 similiar route

We’ve grouped similar routes together, click the arrows to see the other options.

Frequently asked questionsabout travel between Lake Toba and Surabaya

There are several options for getting from Lake Toba to Surabaya 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,467,840 ($100) and will take around 2 days 12h. If you need to get there more quickly, you can take a ferry, then drive and then fly and arrive in approximately 6h 10m, though it is a bit more costly at approximately IDR 1,737,445 ($115).

The distance between Lake Toba and Surabaya is around 2,068km (1,285 miles). In a direct line (as the crow flies), the distance is 1,886km (1,172 miles)

It takes around 6h 10m to get from Lake Toba and Surabaya by ferry, car and plane.

The quickest way to get from Lake Toba to Surabaya is to take a ferry, then drive and then fly which takes around 6h 10m and will set you back approx IDR 1,737,445 ($115).

The cheapest way to travel between Lake Toba and Surabaya is to take a ferry, then drive, then take the train and then take the bus which will typically cost around IDR 1,467,840 ($100) for a standard one-way ticket.

Train travel

There is no train service that runs between Lake Toba and Surabaya. We recommend that you take a ferry to Ajibata then drive to Silangit (DTB) then fly from Silangit (DTB) to Juanda International (SUB). instead which will take 6h 10m.

Bus travel

Sorry, looks like there is no bus service that runs between Lake Toba and Surabaya. We recommend that you take a ferry to Ajibata then drive to Silangit (DTB) then fly from Silangit (DTB) to Juanda International (SUB). instead which will take 6h 10m.

Flights and Airlines

It doesn't look like you can fly directly from Lake Toba to Surabaya. We recommend that you take a ferry to Ajibata then drive to Silangit (DTB) then fly from Silangit (DTB) to Juanda International (SUB). instead which will take 6h 10m.

The closest major airport to Surabaya is Juanda International Airport (SUB) (SUB) which is approximately 16km (10 miles) from Surabaya. Abdul Rachman Saleh Airport (MLG) (MLG) and Blimbingsari Airport (BWX) (BWX) are also nearby and might be a better alternative airport depending on where you are flying from.

Drive yourself

No, its not really possible or feasible to drive from Lake Toba to Surabaya. We recommend that you take a ferry to Ajibata then drive to Silangit (DTB) then fly from Silangit (DTB) to Juanda International (SUB). instead which will take 6h 10m.

If you don't have a car, the easiest way to get from Lake Toba to Surabaya is to take a ferry, then drive and then fly which takes, on average, 6h 10m and will usually cost around IDR 1,737,445 ($115).

How do I get from Lake Toba to Surabaya

Compare travel optionsbetween Lake Toba and Surabaya

Transport options from Lake Toba to Surabaya
Transport optionDurationCostFrequencyDistance
Ferry, Car and Plane
6h 10m
IDR 1,737,445($115)
4 times a day2,068km (1,285 miles)
Car and Ferry + 1 similar
1 day 11h
IDR 2,186,780($145)
hourly2,608km (1,621 miles)
Ferry, Car, Train and Bus2 days 12h
IDR 1,467,840($100)
once daily2,852km (1,772 miles)

Top Carriersoperating between Lake Toba and Surabaya

Airlines

Bus companies

Ferry operators

Train operators

Airports near Surabaya

The following major airports near Surabaya offer regular flights to various popular destinations within Indonesia and internationally.

SUB
Juanda International Airport (SUB)
International Airport
Distance
16km (10 miles) from Surabaya
MLG
Abdul Rachman Saleh Airport (MLG)
Domestic Airport
Distance
76km (47 miles) from Surabaya
BWX
Blimbingsari Airport (BWX)
Domestic Airport
Distance
213km (132 miles) from Surabaya