There are 7 ways to get from Jakarta to Semarang by plane, train, bus, car, or taxi
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly
best- Fly from Soekarno–Hatta International Airport (CGK) to Ahmad Yani (SRG)CGK - SRG
2h 45mRp 894,566–1,489,825Bus
cheapest- Take the bus from DAMRI Bus Station Jakarta to SemarangJakarta - Semarang
7h 21mRp 130,000–480,000Train
- Take the train from Jakarta Gambir to Semarang TawangArgo Bromo Anggrek / ...
4h 49mRp 260,000–350,000Drive 434.3 km
- Drive from Jakarta to Semarang434.3 km
4h 56mRp 799,901–1,155,412Taxi
- Take the taxi from Jakarta to Semarang434.3 km
4h 56mRp 2,400,000–2,900,000Train via Bekasi
- Take the train from Bekasi to Semarang PoncolTawang Jaya / ...
7h 24mRp 253,000–358,000Bus via Jakarta Kampung Rambutan Bus Station
- Take the bus from Jakarta Kampung Rambutan Bus Station to Semarang
11h 19mRp 193,500–403,500
Jakarta to Semarang by train
Questions & Answers
The cheapest way to get from Jakarta to Semarang is to train which costs Rp260000 - Rp350000 and takes 4h 49m.
The fastest way to get from Jakarta to Semarang is to fly which takes 2h 45m and costs Rp850000 - Rp1500000.
No, there is no direct bus from Jakarta to Semarang. However, there are services departing from Term. Senen and arriving at Semarang via DAMRI Bus Station Jakarta. The journey, including transfers, takes approximately 7h 21m.
Yes, there is a direct train departing from Jakarta Gambir and arriving at Semarang Tawang. Services depart every four hours, and operate every day. The journey takes approximately 4h 49m.
The distance between Jakarta and Semarang is 458 km. The road distance is 434.3 km.
The best way to get from Jakarta to Semarang without a car is to train which takes 4h 49m and costs Rp260000 - Rp350000.
It takes approximately 2h 45m to get from Jakarta to Semarang, including transfers.
Jakarta to Semarang bus services, operated by Damri, depart from DAMRI Bus Station Jakarta.
Jakarta to Semarang train services, operated by Kereta API, depart from Jakarta Gambir station.
The best way to get from Jakarta to Semarang is to fly which takes 2h 45m and costs Rp850000 - Rp1500000. Alternatively, you can train, which costs Rp260000 - Rp350000 and takes 4h 49m, you could also bus, which costs Rp130000 - Rp480000 and takes 7h 21m.
What companies run services between Jakarta, Indonesia and Semarang, Indonesia?
Citilink Indonesia, Batik Air, and Garuda Indonesia fly from Soekarno–Hatta International Airport (CGK) to Ahmad Yani (SRG) hourly. Alternatively, Kereta API operates a train from Jakarta Gambir to Semarang Tawang every 4 hours. Tickets cost Rp 260,000–350,000 and the journey takes 4h 49m.
Transport is disrupted due to the Russia-Ukraine war. Read more
- Website
- batikair.com
Flights from Soekarno–Hatta International Airport to Ahmad Yani
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- Rp 950,000–1,400,000
- Website
- garuda-indonesia.com
Flights from Soekarno–Hatta International Airport to Ahmad Yani
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- Rp 850,000–1,100,000
- Website
- citilink.co.id
Flights from Soekarno–Hatta International Airport to Ahmad Yani
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- Rp 850,000–1,100,000
Train from Jakarta Gambir to Semarang Tawang
- Ave. Duration
- 4h 49m
- 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 Bekasi to Semarang Poncol
- Ave. Duration
- 5h 42m
- Frequency
- Every 4 hours
- Estimated price
- Rp 250,000–350,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 250,000–350,000
- Business
- Rp 420,000–550,000
- Executive
- Rp 460,000–700,000
- Phone
- (021) 1500 825
- humas@damri.co.id
- Website
- damri.co.id
Bus from DAMRI Bus Station Jakarta to Semarang
- Ave. Duration
- 6h
- Frequency
- Once daily
- Estimated price
- Rp 130,000–480,000
- Book at
- https://12go.asia/en/operator/damri
- Phone
- +62291440019
- cs@nu3tara.com
- Website
- nu3tara.com
Bus from Jakarta Kampung Rambutan Bus Station to Semarang
- Ave. Duration
- 9h 11m
- Frequency
- Twice daily
- Estimated price
- Rp 190,000–400,000
- Book at
- https://12go.asia/en/operator/nusantara
- Ave. Duration
- 4h 56m
- Estimated price
- Rp 2,400,000–2,900,000
Grab Taxi
- Website
- grab.com
Gamya
- Phone
- +62 21 840 7545
- Website
- gamya.com
Express Taxi
- Phone
- +62 24 468 7715 00122
- Website
- expressgroup.co.id
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 4 of the smartest ways to explore Australia, How to get from Gatwick Airport into central London, and What documents do I need to cross Niagara Falls? - to help you get the most out of your next trip.
More Questions & Answers
Jakarta to Semarang bus services, operated by Damri, arrive at Semarang station.
Jakarta to Semarang train services, operated by Kereta API, arrive at Semarang Tawang station.
Yes, the driving distance between Jakarta to Semarang is 434 km. It takes approximately 4h 56m to drive from Jakarta to Semarang.
There are 427+ hotels available in Semarang.












