There are 7 ways to get from Semarang to Danau Toba by train, plane, bus, ferry, or car ferry
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 Adisumarmo International Airport, fly to Silangit Airport, bus
best- Take the train from Semarang Poncol Station to Solobalapantrain
- Fly from Adisumarmo International Airport (SOC) to Silangit Airport (DTB)plane SOC - DTB
- Take the bus from Silangit Airport to Ajibatabus
22h 10mRp 2,397,322–4,477,000Bus, ferry, car ferry
cheapest- Take the bus from Semarang 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 10hRp 1,000,505–1,517,144Train, ferry, bus, car ferry
- Take the train from Semarang Tawang to Jakarta Gambirtrain
- 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 4hRp 1,081,046–1,479,035Fly Ahmad Yani to Silangit Airport, bus
- Fly from Ahmad Yani (SRG) to Silangit Airport (DTB)plane SRG - DTB
- Take the bus from Silangit Airport to Ajibatabus
8h 17mRp 2,993,805–6,333,678Fly Ahmad Yani to Kuala Namu International Airport, bus
- Fly from Ahmad Yani (SRG) to Kuala Namu International Airport (KNO)plane SRG - KNO
- Take the bus from Amplas Station to Parapatbus
13h 16mRp 2,296,805–3,763,678Train, bus to Soekarno–Hatta International Airport, fly to Silangit Airport, bus
- Take the train from Semarang Tawang to Jakarta Gambirtrain
- Take the bus from Gambir Station to Jakarta Airportbus
- Fly from Soekarno–Hatta International Airport (CGK) to Silangit Airport (DTB)plane CGK - DTB
- Take the bus from Silangit Airport to Ajibatabus
12h 45mRp 2,002,446–3,148,935Bus, ferry, car ferry via Tangerang
- Take the bus from Semarang to Terminal Kampung Rambutanbus
- Take the bus from Terminal Kampung Rambutan to Soekarno-Hatta International Airportbus
- 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 9hRp 1,014,400–2,013,692
Adisumarmo International Airport (SOC) to Silangit Airport (DTB) flights
Questions & Answers
The cheapest way to get from Semarang to Danau Toba is to bus and ferry and car ferry which costs Rp1000000 - Rp1600000 and takes 3 days 10h.
The fastest way to get from Semarang to Danau Toba is to fly and bus which takes 8h 17m and costs Rp2900000 - Rp6500000.
The distance between Semarang and Danau Toba is 1902 km.
It takes approximately 22h 10m to get from Semarang to Danau Toba, including transfers.
There are 115+ hotels available in Danau Toba.
What companies run services between Semarang, Indonesia and Danau Toba, North Sumatra, Indonesia?
There is no direct connection from Semarang to Danau Toba. However, you can take the train to Solobalapan, take the train to Adi soemarmo Airport, walk to Adisumarmo International Airport (SOC) airport, fly to Silangit Airport (DTB), walk to Silangit Airport, then take the bus to Ajibata. Alternatively, you can take a train from Semarang Tawang to Danau Toba via Jakarta Gambir, Balai Kota 1, Balai Kota, Juanda, Tanjung Priok, Port of Tanjung Priok, Belawan, Amplas Station, Parapat, Ajibata, and Tomok in around 3d 4h.
- Website
- garuda-indonesia.com
Flights from Adisumarmo International Airport to Silangit Airport via Soekarno–Hatta International Airport
- Ave. Duration
- 15h 47m
- When
- Every day
- Estimated price
- Rp 2,300,000–3,900,000
Flights from Ahmad Yani to Kuala Namu International Airport via Soekarno–Hatta International Airport
- Ave. Duration
- 5h 55m
- When
- Every day
- Estimated price
- Rp 2,600,000–7,000,000
Flights from Soekarno–Hatta International Airport to Silangit Airport
- Ave. Duration
- 2h 5m
- When
- Every day
- Estimated price
- Rp 1,700,000–3,500,000
- Website
- citilink.co.id
Flights from Adisumarmo International Airport to Silangit Airport via Soekarno–Hatta International Airport
- Ave. Duration
- 14h 40m
- When
- Every day
- Estimated price
- Rp 2,300,000–3,900,000
Flights from Adisumarmo International Airport to Silangit Airport via Supadio, Soekarno–Hatta International Airport
- Ave. Duration
- 17h 15m
- When
- Tuesday
- Estimated price
- Rp 3,400,000–4,400,000
Flights from Ahmad Yani to Kuala Namu International Airport via Soekarno–Hatta International Airport
- Ave. Duration
- 5h
- When
- Every day
- Estimated price
- Rp 2,100,000–3,500,000
Flights from Soekarno–Hatta International Airport to Silangit Airport
- Ave. Duration
- 2h 5m
- When
- Every day
- Estimated price
- Rp 1,700,000–3,500,000
- Website
- superairjet.com
Flights from Adisumarmo International Airport to Silangit Airport via Soekarno–Hatta International Airport, Hang Nadim
- Ave. Duration
- 19h 45m
- When
- Monday, Wednesday, and Saturday
- Estimated price
- Rp 2,900,000–8,000,000
Flights from Ahmad Yani to Silangit Airport via Soekarno–Hatta International Airport
- Ave. Duration
- 4h 5m
- When
- Every day
- Estimated price
- Rp 2,900,000–6,000,000
Flights from Soekarno–Hatta International Airport to Silangit Airport
- Ave. Duration
- 2h 5m
- When
- Every day
- Estimated price
- Rp 1,600,000–2,100,000
Flights from Soekarno–Hatta International Airport to Silangit Airport via Hang Nadim
- Ave. Duration
- 4h
- When
- Tuesday, Thursday, and Sunday
- Estimated price
- Rp 1,600,000–2,100,000
- Website
- airasia.com
Flights from Adisumarmo International Airport to Silangit Airport via Ngurah Rai, Soekarno–Hatta International Airport
- Ave. Duration
- 17h 15m
- When
- Every day
- Estimated price
- Rp 2,800,000–7,000,000
Flights from Soekarno–Hatta International Airport to Silangit Airport
- Ave. Duration
- 2h 2m
- When
- Every day
- Estimated price
- Rp 1,700,000–2,500,000
- Website
- batikair.com
Flights from Ahmad Yani to Kuala Namu International Airport via Soekarno–Hatta International Airport
- Ave. Duration
- 5h
- When
- Every day
- Estimated price
- Rp 2,700,000–7,500,000
- Website
- airasia.com
Flights from Ahmad Yani to Kuala Namu International Airport via Kuala Lumpur
- Ave. Duration
- 6h 5m
- When
- Every day
- Estimated price
- Rp 1,300,000–5,500,000
- Website
- flyscoot.com
Flights from Ahmad Yani to Kuala Namu International Airport via Singapore Changi
- Ave. Duration
- 7h 15m
- When
- Thursday and Saturday
- Estimated price
- Rp 3,900,000–10,000,000
- Phone
- 021-121
- [email protected]
- Website
- kai.id
Train from Semarang Poncol Station to Solobalapan
- Ave. Duration
- 1h 49m
- Frequency
- 5 times a day
- Estimated price
- Rp 65,000–320,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 65,000–320,000
- Business
- Rp 310,000–550,000
- Executive
- Rp 120,000–650,000
Train from Semarang Tawang to Jakarta Gambir
- Ave. Duration
- 4h 38m
- Frequency
- Every 4 hours
- Estimated price
- Rp 260,000–350,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 260,000–350,000
- Business
- Rp 430,000–550,000
- Executive
- Rp 490,000–700,000
Train from Semarang Tawang to Jakarta Gambir
- Ave. Duration
- 4h 38m
- Frequency
- Every 4 hours
- Estimated price
- Rp 260,000–350,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 260,000–350,000
- Business
- Rp 430,000–550,000
- Executive
- Rp 490,000–700,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 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 Gambir Station to Jakarta Airport
- Ave. Duration
- 45 min
- Frequency
- Every 15 minutes
- Estimated price
- Rp 13,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 Terminal Kampung Rambutan to Soekarno-Hatta International Airport
- Ave. Duration
- 1h
- Frequency
- Every 30 minutes
- Estimated price
- Rp 13,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
- Phone
- +62291440019
- [email protected]
- Website
- nu3tara.com
Bus from Semarang to Terminal Kampung Rambutan
- Ave. Duration
- 8h 40m
- Frequency
- Once daily
- Estimated price
- Rp 180,000–400,000
- Book at
- https://12go.asia/en/operator/nusantara
Bus from Semarang to Jakarta Kampung Rambutan Bus Station
- Ave. Duration
- 9h 12m
- Frequency
- Twice daily
- Estimated price
- Rp 190,000–400,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
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 Italian Lakes: Getting around by train, Best ways to travel around Australia, and Travel Insider: Top Japan travel tips by Beatrix Holland - to help you get the most out of your next trip.














