There are 9 ways to get from Surabaya to Danau Toba by train, plane, bus, ferry, car ferry, shuttle, or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train to Abdul Rachman Saleh Airport, fly to Silangit Airport, bus
best- Take the train from Gubeng to Lawangtrain
- Fly from Abdul Rachman Saleh Airport (MLG) to Silangit Airport (DTB)plane MLG - DTB
- Take the bus from Silangit Airport to Ajibatabus
24h 29mRp 5,153,465–8,680,000Bus, ferry, car ferry
cheapest- Take the bus from Surabaya Kota to DAMRI Bus Station Jakartabus
- Take the ferry from Port of Tanjung Priok to Belawanferry
- Take the bus from Amplas Station to Parapatbus
- Take the car ferry from Ajibata to Tomokcarferry
3d 8hRp 890,576–1,783,421Shuttle to Kediri, fly to Silangit Airport, bus
- Take a shuttle bus from Surabaya to Nganjuk
- Fly from Kediri (DHX) to Silangit Airport (DTB)plane DHX - DTB
- Take the bus from Silangit Airport to Ajibatabus
26h 42mFly Juanda International Airport to Silangit Airport, bus
- Fly from Juanda International Airport (SUB) to Silangit Airport (DTB)plane SUB - DTB
- Take the bus from Silangit Airport to Ajibatabus
9h 4mRp 2,859,191–5,910,953Fly Juanda International Airport to Kuala Namu International Airport, bus
- Fly from Juanda International Airport (SUB) to Kuala Namu International Airport (KNO)plane SUB - KNO
- Take the bus from Amplas Station to Parapatbus
12h 4mRp 2,962,191–3,840,953Train to Adisumarmo International Airport, fly to Silangit Airport, bus
- Take the train from Surabaya Gubeng to Solo Balapantrain
- Fly from Adisumarmo International Airport (SOC) to Silangit Airport (DTB)plane SOC - DTB
- Take the bus from Silangit Airport to Ajibatabus
23h 45mRp 2,382,034–4,377,000Train, bus, ferry, drive, car ferry
- Take the train from Surabaya Pasar Turi to Cirebontrain
- Take the bus from Cirebon to Jakarta Pulogadung Bus Stationbus
- Take the ferry from Port of Tanjung Priok to Belawanferry
- Take the train from Araskabu to Tebing Tinggitrain
- Drive from Tebing Tinggi to Ajibatacar
- Take the car ferry from Ajibata to Tomokcarferry
3d 10hRp 1,279,593–2,019,647Shuttle, bus, ferry, car ferry
- Take a shuttle bus from Surabaya to Kudus
- Take the bus from Kudus to Jakarta Kampung Rambutan Bus Stationbus
- Take the ferry from Port of Tanjung Priok to Belawanferry
- Take the bus from Amplas Station to Parapatbus
- Take the car ferry from Ajibata to Tomokcarferry
3d 15hRp 1,232,600–1,863,100Ferry, bus, car ferry
- Take the ferry from Surabaya to Tanjung Priokferry
- Take the ferry from Port of Tanjung Priok to Belawanferry
- Take the bus from Amplas Station to Parapatbus
- Take the car ferry from Ajibata to Tomokcarferry
4d 3hRp 1,161,374–1,557,288
Abdul Rachman Saleh Airport (MLG) to Silangit Airport (DTB) flights
Questions & Answers
The cheapest way to get from Surabaya to Danau Toba is to ferry and bus and car ferry which costs Rp1100000 - Rp1600000 and takes 4 days 3h.
The fastest way to get from Surabaya to Danau Toba is to fly and bus which takes 9h 4m and costs Rp2800000 - Rp6000000.
The distance between Surabaya and Danau Toba is 2066 km.
It takes approximately 24h 29m to get from Surabaya to Danau Toba, including transfers.
There are 115+ hotels available in Danau Toba.
What companies run services between Surabaya, Indonesia and Danau Toba, North Sumatra, Indonesia?
There is no direct connection from Surabaya to Danau Toba. However, you can take the train to Lawang, take the taxi to Abdul Rachman Saleh Airport (MLG) airport, fly to Silangit Airport (DTB), walk to Silangit Airport, then take the bus to Ajibata. Alternatively, you can take a bus from Surabaya Kota to Danau Toba via DAMRI Bus Station Jakarta, Port of Tanjung Priok, Belawan, Amplas Station, Parapat, Ajibata, and Tomok in around 3d 8h.
- Website
- superairjet.com
Flights from Abdul Rachman Saleh Airport to Silangit Airport via Soekarno–Hatta, Hang Nadim
- Ave. Duration
- 20h 30m
- When
- Monday, Wednesday, and Saturday
- Estimated price
- Rp 6,500,000–18,000,000
Flights from Kediri to Silangit Airport via Soekarno–Hatta
- Ave. Duration
- 25h
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- Rp 3,100,000–6,000,000
Flights from Kediri to Silangit Airport via Soekarno–Hatta, Hang Nadim
- Ave. Duration
- 23h 5m
- When
- Monday and Wednesday
- Estimated price
- Rp 3,300,000–6,500,000
Flights from Juanda International Airport to Silangit Airport via Hang Nadim
- Ave. Duration
- 4h 40m
- When
- Tuesday, Thursday, and Sunday
- Estimated price
- Rp 2,900,000–5,500,000
Flights from Juanda International Airport to Silangit Airport via Soekarno–Hatta
- Ave. Duration
- 4h 45m
- When
- Monday to Saturday
- Estimated price
- Rp 2,700,000–5,500,000
Flights from Juanda International Airport to Kuala Namu International Airport
- Ave. Duration
- 3h 5m
- When
- Tuesday, Thursday, and Saturday
- Estimated price
- Rp 2,100,000–4,000,000
Flights from Adisumarmo International Airport to Silangit Airport via Soekarno–Hatta, Hang Nadim
- Ave. Duration
- 19h 45m
- When
- Monday, Wednesday, and Saturday
- Estimated price
- Rp 2,700,000–7,000,000
- Website
- airasia.com
Flights from Kediri to Silangit Airport via Soekarno–Hatta
- Ave. Duration
- 20h 40m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- Rp 2,600,000–7,000,000
Flights from Juanda International Airport to Kuala Namu International Airport via Kuala Lumpur
- Ave. Duration
- 5h 27m
- When
- Every day
- Estimated price
- Rp 1,800,000–4,600,000
Flights from Juanda International Airport to Kuala Namu International Airport via Penang
- Ave. Duration
- 6h 25m
- When
- Tuesday, Thursday, and Saturday
- Estimated price
- Rp 1,900,000–4,900,000
Flights from Adisumarmo International Airport to Silangit Airport via Ngurah Rai, Soekarno–Hatta
- Ave. Duration
- 17h 15m
- When
- Every day
- Estimated price
- Rp 2,700,000–7,500,000
- Website
- garuda-indonesia.com
Flights from Abdul Rachman Saleh Airport to Silangit Airport via Soekarno–Hatta
- Ave. Duration
- 19h 27m
- When
- Every day
- Estimated price
- Rp 5,000,000–8,000,000
Flights from Kediri to Silangit Airport via Soekarno–Hatta
- Ave. Duration
- 20h 15m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- Rp 2,900,000–4,800,000
Flights from Juanda International Airport to Kuala Namu International Airport via Kuala Lumpur
- Ave. Duration
- 5h
- When
- Every day
- Estimated price
- Rp 1,300,000–5,500,000
Flights from Adisumarmo International Airport to Silangit Airport via Soekarno–Hatta
- Ave. Duration
- 15h 47m
- When
- Every day
- Estimated price
- Rp 2,200,000–3,800,000
- Website
- citilink.co.id
Flights from Abdul Rachman Saleh Airport to Silangit Airport via Soekarno–Hatta
- Ave. Duration
- 19h 27m
- When
- Every day
- Estimated price
- Rp 5,000,000–8,000,000
Flights from Kediri to Silangit Airport via Soekarno–Hatta
- Ave. Duration
- 20h 15m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- Rp 2,900,000–4,800,000
Flights from Adisumarmo International Airport to Silangit Airport via Soekarno–Hatta
- Ave. Duration
- 14h 40m
- When
- Every day
- Estimated price
- Rp 2,200,000–3,800,000
Flights from Adisumarmo International Airport to Silangit Airport via Supadio, Soekarno–Hatta
- Ave. Duration
- 17h 15m
- When
- Tuesday
- Estimated price
- Rp 3,300,000–4,400,000
- Website
- singaporeair.com
Flights from Juanda International Airport to Kuala Namu International Airport via Singapore Changi
- Ave. Duration
- 4h 50m
- When
- Every day
- Estimated price
- Rp 2,000,000–9,000,000
- Website
- malaysiaairlines.com
Flights from Juanda International Airport to Kuala Namu International Airport via Kuala Lumpur
- Ave. Duration
- 5h
- When
- Every day
- Estimated price
- Rp 1,300,000–5,500,000
- Phone
- 021-121
- [email protected]
- Website
- kai.id
Train from Gubeng to Lawang
- Ave. Duration
- 1h 23m
- Frequency
- Once daily
- Estimated price
- Rp 45,000–320,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 45,000–320,000
- Business
- Rp 300,000–550,000
- Executive
- Rp 80,000–650,000
Train from Surabaya Gubeng to Solo Balapan
- Ave. Duration
- 3h 24m
- 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
Train from Surabaya Pasar Turi to Cirebon
- Ave. Duration
- 7h 30m
- Frequency
- Every 4 hours
- Estimated price
- Rp 300,000–360,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 300,000–360,000
- Business
- Rp 450,000–550,000
- Executive
- Rp 550,000–800,000
Train from Araskabu to Tebing Tinggi
- Ave. Duration
- 55 min
- Frequency
- Every 4 hours
- Estimated price
- Rp 36,000–320,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 36,000–320,000
- Business
- Rp 290,000–550,000
- Executive
- Rp 65,000–650,000
- Phone
- (021) 1500 825
- [email protected]
- Website
- damri.co.id
Bus from Silangit Airport to Ajibata
- Ave. Duration
- 2h 57m
- Frequency
- 4 times a day
- Estimated price
- Rp 23,000–250,000
- Book at
- https://12go.asia/en/operator/damri
Bus from Surabaya Kota to DAMRI Bus Station Jakarta
- Ave. Duration
- 10h
- Frequency
- Once daily
- Estimated price
- Rp 210,000–800,000
- Book at
- https://12go.asia/en/operator/damri
Bus from Silangit Airport to Ajibata
- Ave. Duration
- 2h 57m
- Frequency
- 4 times a day
- Estimated price
- Rp 23,000–250,000
- Book at
- https://12go.asia/en/operator/damri
Bus from Silangit Airport to Ajibata
- Ave. Duration
- 2h 57m
- Frequency
- 4 times a day
- Estimated price
- Rp 23,000–250,000
- Book at
- https://12go.asia/en/operator/damri
Bus from Silangit Airport to Ajibata
- Ave. Duration
- 2h 57m
- Frequency
- 4 times a day
- Estimated price
- Rp 23,000–250,000
- Book at
- https://12go.asia/en/operator/damri
- Phone
- +6281361051419
- [email protected]
Bus from Amplas Station to Parapat
- Ave. Duration
- 4h 30m
- Frequency
- Hourly
- Estimated price
- Rp 25,000–35,000
- Schedules at
- holidaysumatra.com
Bus from Amplas Station to Parapat
- Ave. Duration
- 4h 30m
- Frequency
- Hourly
- Estimated price
- Rp 25,000–35,000
- Schedules at
- holidaysumatra.com
Bus from Amplas Station to Parapat
- Ave. Duration
- 4h 30m
- Frequency
- Hourly
- Estimated price
- Rp 25,000–35,000
- Schedules at
- holidaysumatra.com
Bus from Amplas Station to Parapat
- Ave. Duration
- 4h 30m
- Frequency
- Hourly
- Estimated price
- Rp 25,000–35,000
- Schedules at
- holidaysumatra.com
- [email protected]
- Website
- indahjayatrans.com
Shuttle from Surabaya to Nganjuk
- Ave. Duration
- 1h
- Frequency
- 4 times a day
- Schedules at
- indahjayatrans.com
Shuttle from Surabaya to Kudus
- Ave. Duration
- 2h 26m
- Frequency
- Twice daily
- Estimated price
- Rp 220,000–300,000
- Schedules at
- indahjayatrans.com
Bus from Cirebon to Jakarta Pulogadung Bus Station
- Ave. Duration
- 4h 23m
- Frequency
- Hourly
- Estimated price
- Rp 80,000
- Schedules at
- jadwalbis.com
- Phone
- +62291440019
- [email protected]
- Website
- nu3tara.com
Bus from Kudus to Jakarta Kampung Rambutan Bus Station
- Ave. Duration
- 10h 19m
- Frequency
- Twice daily
- Estimated price
- Rp 200,000–440,000
- Book at
- https://12go.asia/en/operator/nusantara
- Phone
- +62 811-1621-162
- [email protected]
- Website
- facebook.com
Ferry from Port of Tanjung Priok to Belawan
- Ave. Duration
- 2d 14h
- Frequency
- Once daily
- Estimated price
- Rp 550,000–700,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 550,000–700,000
Ferry from Port of Tanjung Priok to Belawan
- Ave. Duration
- 2d 14h
- Frequency
- Once daily
- Estimated price
- Rp 550,000–700,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 550,000–700,000
Ferry from Port of Tanjung Priok to Belawan
- Ave. Duration
- 2d 14h
- Frequency
- Once daily
- Estimated price
- Rp 550,000–700,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 550,000–700,000
Ferry from Surabaya to Tanjung Priok
- Ave. Duration
- 28h 35m
- Frequency
- Twice daily
- Estimated price
- Rp 300,000–370,000
- Book at
- pelni.co.id
- Economy Class
- Rp 300,000–370,000
Ferry from Port of Tanjung Priok to Belawan
- Ave. Duration
- 2d 14h
- Frequency
- Once daily
- Estimated price
- Rp 550,000–700,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 550,000–700,000
Car ferry from Ajibata to Tomok
- Ave. Duration
- 55 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 Ajibata to Tomok
- Ave. Duration
- 55 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 Ajibata to Tomok
- Ave. Duration
- 55 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 Ajibata to Tomok
- Ave. Duration
- 55 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
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 How to get from Southend Airport into central London, How to get from Stansted Airport into central London, and How to plan an amazing trip around Scandinavia - to help you get the most out of your next trip.
















