There are 8 ways to get from Danau Toba to Surabaya by bus, plane, car ferry, car, train, busferry, ferry, or shuttle
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus, fly to Juanda International Airport
best- Take the bus from Ajibata to Silangit Airportbus
- Fly from Silangit Airport (DTB) to Juanda International Airport (SUB)plane DTB - SUB
11h 26mRp 2,232,965–6,817,103Car ferry, bus, bus and ferry
cheapest- Take the car ferry from Tomok to Ajibatacarferry
- Take the bus from Parapat to Amplas Stationbus
- Take the bus from Medan Putra Pelangi to Bandar Lampungbus
- Take the busferry from Bandar Lampung to DAMRI Bus Station Jakartabusferry
- Take the bus from DAMRI Bus Station Jakarta to Surabaya Kotabus
2d 11hRp 1,079,153–2,348,953Car ferry, drive, train, bus, bus and ferry
- Take the car ferry from Tomok to Ajibatacarferry
- Drive from Ajibata to Tebing Tinggicar
- Take the train from Tebing Tinggi to Medan Stationtrain
- Take the bus from Medan Putra Pelangi to Bandar Lampungbus
- Take the busferry from Bandar Lampung to Gambir Stationbusferry
- Take the train from Jakarta Gambir to Surabaya Pasar Turitrain
2d 7hRp 1,347,053–2,492,353Car ferry, bus, ferry, train
- Take the car ferry from Tomok to Ajibatacarferry
- Take the bus from Parapat to Amplas Stationbus
- Take the ferry from Belawan to Port of Tanjung Priokferry
- Take the train from Jakarta Gambir to Surabaya Pasar Turitrain
3d 8hRp 1,131,139–1,565,935Bus, fly to Kediri, shuttle
- Take the bus from Ajibata to Silangit Airportbus
- Fly from Silangit Airport (DTB) to Kediri (DHX)plane DTB - DHX
- Take a shuttle bus from Nganjuk to Surabaya
28h 9mBus, fly to Adisumarmo International Airport, train
- Take the bus from Ajibata to Silangit Airportbus
- Fly from Silangit Airport (DTB) to Adisumarmo International Airport (SOC)plane DTB - SOC
- Take the train from Solo Balapan to Surabaya Gubengtrain
13h 24mRp 2,880,465–7,574,103Car ferry, bus, ferry, shuttle
- Take the car ferry from Tomok to Ajibatacarferry
- Take the bus from Parapat to Amplas Stationbus
- Take the ferry from Belawan to Port of Tanjung Priokferry
- Take the bus from Jakarta Kampung Rambutan Bus Station to Kudusbus
- Take a shuttle bus from Kudus to Surabaya
3d 13hRp 1,227,639–1,862,435Car ferry, bus, ferry
- Take the car ferry from Tomok to Ajibatacarferry
- Take the bus from Parapat to Amplas Stationbus
- Take the ferry from Belawan to Port of Tanjung Priokferry
- Take the ferry from Tanjung Priok to Surabayaferry
4d 1hRp 1,154,139–1,548,935
Silangit Airport (DTB) to Juanda International Airport (SUB) flights
Questions & Answers
The cheapest way to get from Danau Toba to Surabaya is to car ferry and bus and ferry which costs Rp1100000 - Rp1600000 and takes 4 days 1h.
The fastest way to get from Danau Toba to Surabaya is to bus and fly which takes 11h 26m and costs Rp2200000 - Rp7000000.
The distance between Danau Toba and Surabaya is 1972 km.
It takes approximately 11h 26m to get from Danau Toba to Surabaya, including transfers.
There are 976+ hotels available in Surabaya.
What companies run services between Danau Toba, North Sumatra, Indonesia and Surabaya, Indonesia?
There is no direct connection from Danau Toba to Surabaya. However, you can take the bus to Silangit Airport, walk to Silangit Airport (DTB) airport, fly to Juanda International Airport (SUB), walk to Juanda Surabaya Airport, take the bus to Surabaya Bungurasih Bus Station, walk to Waru, then take the train to Surabaya Gubeng. Alternatively, you can take a vehicle from Danau Toba to Surabaya Pasar Turi via Tomok, Ajibata, Tebing Tinggi, Medan Station, Medan Putra Pelangi, Bandar Lampung, Bandar Lampung, Gambir Station, and Jakarta Gambir in around 2d 7h.
- Website
- superairjet.com
Flights from Silangit Airport to Kediri via Soekarno–Hatta
- Ave. Duration
- 23h 16m
- When
- Tuesday, Thursday, Saturday, and Sunday
- Estimated price
- Rp 2,600,000–7,000,000
Flights from Silangit Airport to Kediri via Hang Nadim, Soekarno–Hatta
- Ave. Duration
- 23h 20m
- When
- Tuesday, Thursday, and Sunday
- Estimated price
- Rp 3,300,000–6,500,000
- Website
- batikair.com
Flights from Silangit Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 15m
- When
- Every day
- Estimated price
- Rp 2,200,000–6,000,000
Flights from Silangit Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 40m
- When
- Every day
- Estimated price
- Rp 2,700,000–7,000,000
Flights from Silangit Airport to Adisumarmo International Airport via Hang Nadim, Soekarno–Hatta
- Ave. Duration
- 6h 10m
- When
- Tuesday, Thursday, and Sunday
- Estimated price
- Rp 3,300,000–6,500,000
- Website
- garuda-indonesia.com
Flights from Silangit Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 6h 30m
- When
- Every day
- Estimated price
- Rp 2,500,000–4,000,000
Flights from Silangit Airport to Juanda International Airport via Hang Nadim
- Ave. Duration
- 7h 20m
- When
- Tuesday, Thursday, and Sunday
- Estimated price
- Rp 2,500,000–4,000,000
Flights from Silangit Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 50m
- When
- Every day
- Estimated price
- Rp 2,900,000–5,000,000
- Website
- pelita-air.com
Flights from Silangit Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 35m
- When
- Every day
- Estimated price
- Rp 2,600,000–5,000,000
- Website
- citilink.co.id
Flights from Silangit Airport to Juanda International Airport via Hang Nadim
- Ave. Duration
- 7h 20m
- When
- Tuesday, Thursday, and Sunday
- Estimated price
- Rp 2,500,000–4,000,000
- Phone
- 021-121
- [email protected]
- Website
- kai.id
Train from Tebing Tinggi to Medan Station
- Ave. Duration
- 1h 24m
- Frequency
- Every 4 hours
- Estimated price
- Rp 49,000–320,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 49,000–320,000
- Business
- Rp 300,000–550,000
- Executive
- Rp 90,000–650,000
Train from Jakarta Gambir to Surabaya Pasar Turi
- Ave. Duration
- 7h 45m
- Frequency
- 4 times a day
- Estimated price
- Rp 320,000–440,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 320,000–440,000
- Business
- Rp 490,000–550,000
- Executive
- Rp 700,000–1,100,000
Train from Jakarta Gambir to Surabaya Pasar Turi
- Ave. Duration
- 7h 45m
- Frequency
- 4 times a day
- Estimated price
- Rp 320,000–440,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 320,000–440,000
- Business
- Rp 490,000–550,000
- Executive
- Rp 700,000–1,100,000
Train from Solo Balapan to Surabaya Gubeng
- Ave. Duration
- 3h 12m
- Frequency
- Every 3 hours
- Estimated price
- Rp 150,000–320,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 150,000–320,000
- Business
- Rp 360,000–550,000
- Executive
- Rp 280,000–700,000
- Phone
- (021) 1500 825
- [email protected]
- Website
- damri.co.id
Bus from Ajibata to Silangit Airport
- Ave. Duration
- 2h 58m
- Frequency
- 4 times a day
- Estimated price
- Rp 23,000–250,000
- Book at
- https://12go.asia/en/operator/damri
Busferry from Bandar Lampung to Gambir Station
- Ave. Duration
- 8h 52m
- Frequency
- Hourly
- Estimated price
- Rp 65,000–260,000
- Book at
- https://12go.asia/en/operator/damri
Bus from Ajibata to Silangit Airport
- Ave. Duration
- 2h 58m
- Frequency
- 4 times a day
- Estimated price
- Rp 23,000–250,000
- Book at
- https://12go.asia/en/operator/damri
Bus from Ajibata to Silangit Airport
- Ave. Duration
- 2h 58m
- Frequency
- 4 times a day
- Estimated price
- Rp 23,000–250,000
- Book at
- https://12go.asia/en/operator/damri
Busferry from Bandar Lampung to DAMRI Bus Station Jakarta
- Ave. Duration
- 9h
- Frequency
- Hourly
- Estimated price
- Rp 65,000–260,000
- Book at
- https://12go.asia/en/operator/damri
Bus from DAMRI Bus Station Jakarta to Surabaya Kota
- Ave. Duration
- 10h
- Frequency
- Once daily
- Estimated price
- Rp 210,000–800,000
- Book at
- https://12go.asia/en/operator/damri
- Phone
- (061)8456325 - 8453256
- [email protected]
- Website
- putrapelangi.com
Bus from Medan Putra Pelangi to Bandar Lampung
- Ave. Duration
- 31h 20m
- Frequency
- Once daily
- Estimated price
- Rp 650,000–1,000,000
- Schedules at
- putrapelangi.com
- Book at
- traveloka.com
Bus from Medan Putra Pelangi to Bandar Lampung
- Ave. Duration
- 31h 20m
- Frequency
- Once daily
- Estimated price
- Rp 650,000–1,000,000
- Schedules at
- putrapelangi.com
- Book at
- traveloka.com
- Phone
- +6281361051419
- [email protected]
Bus from Parapat to Amplas Station
- Ave. Duration
- 4h 30m
- Frequency
- Hourly
- Estimated price
- Rp 25,000–35,000
- Schedules at
- holidaysumatra.com
Bus from Parapat to Amplas Station
- Ave. Duration
- 4h 30m
- Frequency
- Hourly
- Estimated price
- Rp 25,000–35,000
- Schedules at
- holidaysumatra.com
Bus from Parapat to Amplas Station
- Ave. Duration
- 4h 30m
- Frequency
- Hourly
- Estimated price
- Rp 25,000–35,000
- Schedules at
- holidaysumatra.com
Bus from Parapat to Amplas Station
- Ave. Duration
- 4h 30m
- Frequency
- Hourly
- Estimated price
- Rp 25,000–35,000
- Schedules at
- holidaysumatra.com
- [email protected]
- Website
- indahjayatrans.com
Shuttle from Nganjuk to Surabaya
- Ave. Duration
- 1h 1m
- Frequency
- 4 times a day
- Schedules at
- indahjayatrans.com
Shuttle from Kudus to Surabaya
- Ave. Duration
- 2h 27m
- Frequency
- Twice daily
- Estimated price
- Rp 220,000–300,000
- Schedules at
- indahjayatrans.com
- Phone
- +62291440019
- [email protected]
- Website
- nu3tara.com
Bus from Jakarta Kampung Rambutan Bus Station to Kudus
- Ave. Duration
- 10h 18m
- Frequency
- Twice daily
- Estimated price
- Rp 200,000–440,000
- Book at
- https://12go.asia/en/operator/nusantara
Car ferry from Tomok to Ajibata
- Ave. Duration
- 56 min
- Frequency
- 5 times a day
- Estimated price
- Rp 9,500–110,000
- Economy
- Rp 16,000–34,000
- VIP
- Rp 22,000–55,000
Car ferry from Tomok to Ajibata
- Ave. Duration
- 56 min
- Frequency
- 5 times a day
- Estimated price
- Rp 9,500–110,000
- Economy
- Rp 16,000–34,000
- VIP
- Rp 22,000–55,000
Car ferry from Tomok to Ajibata
- Ave. Duration
- 56 min
- Frequency
- 5 times a day
- Estimated price
- Rp 9,500–110,000
- Economy
- Rp 16,000–34,000
- VIP
- Rp 22,000–55,000
Car ferry from Tomok to Ajibata
- Ave. Duration
- 56 min
- Frequency
- 5 times a day
- Estimated price
- Rp 9,500–110,000
- Economy
- Rp 16,000–34,000
- VIP
- Rp 22,000–55,000
Car ferry from Tomok to Ajibata
- Ave. Duration
- 56 min
- Frequency
- 5 times a day
- Estimated price
- Rp 9,500–110,000
- Economy
- Rp 16,000–34,000
- VIP
- Rp 22,000–55,000
- Phone
- +62 811-1621-162
- [email protected]
- Website
- facebook.com
Ferry from Belawan to Port of Tanjung Priok
- Ave. Duration
- 2d 12h
- Frequency
- Once daily
- Estimated price
- Rp 550,000–700,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 550,000–700,000
Ferry from Belawan to Port of Tanjung Priok
- Ave. Duration
- 2d 12h
- Frequency
- Once daily
- Estimated price
- Rp 550,000–700,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 550,000–700,000
Ferry from Belawan to Port of Tanjung Priok
- Ave. Duration
- 2d 12h
- Frequency
- Once daily
- Estimated price
- Rp 550,000–700,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 550,000–700,000
Ferry from Tanjung Priok to Surabaya
- Ave. Duration
- 28h 34m
- Frequency
- Twice daily
- Estimated price
- Rp 300,000–370,000
- Book at
- pelni.co.id
- Economy Class
- Rp 300,000–370,000
Want to know more about travelling around the world?
Rome2Rio's Travel Guide series provide vital information for the global traveller. Read our range of informative guides on popular transport routes and companies - including Travelling by boat in Italy, Need to know: Greyhound, and Travelling Croatia’s Dalmatian Coast by boat, bus, car and train - to help you get the most out of your next trip.
















