There are 6 ways to get from Jakarta to Semarang by train, bus, car, or plane
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train
best- Take the train from Jakarta Gambir to Semarang Tawangtrain Argo Bromo Anggrek / ...
4h 49mRp 260,000–350,000Bus
cheapest- Take the bus from DAMRI Bus Station Jakarta to Semarangbus Jakarta - Semarang
7h 19mRp 130,000–480,000Drive 434.3 km
- Drive from Jakarta to Semarangcar 434.3 km
4h 55mRp 872,120–1,259,728Fly
- Fly from Soekarno–Hatta International Airport (CGK) to Ahmad Yani (SRG)plane CGK - SRG
2h 55mRp 878,568–1,630,825Train via Bekasi
- Take the train from Bekasi to Semarang Tawangtrain Sembrani / ...
6h 18mRp 253,000–358,000Bus via Jakarta Kampung Rambutan Bus Station
- Take the bus from Jakarta Kampung Rambutan Bus Station to Semarangbus
11h 19mRp 193,500–403,500
Jakarta to Semarang by train
Comparing Your Travel Options
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 55m and costs Rp850000 - Rp1700000.
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 19m.
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 439 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.
The train from Jakarta Gambir to Semarang Tawang takes 4h 49m including transfers and departs every four hours.
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 train which takes 4h 49m and costs Rp260000 - Rp350000. Alternatively, you can bus, which costs Rp130000 - Rp480000 and takes 7h 19m, you could also fly, which costs Rp850000 - Rp1700000 and takes 2h 55m.
What companies run services between Jakarta, Indonesia and Semarang, Indonesia?
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. Alternatively, Damri operates a bus from DAMRI Bus Station Jakarta to Semarang once daily. Tickets cost Rp 130,000–480,000 and the journey takes 6h.
- Website
- garuda-indonesia.com
Flights from Soekarno–Hatta International Airport to Ahmad Yani
- Ave. Duration
- 1h 13m
- When
- Every day
- Estimated price
- Rp 800,000–6,000,000
- Website
- batikair.com
Flights from Soekarno–Hatta International Airport to Ahmad Yani
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- Rp 1,000,000–1,600,000
- Website
- superairjet.com
Flights from Soekarno–Hatta International Airport to Ahmad Yani
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- Rp 750,000–950,000
- Website
- citilink.co.id
Flights from Soekarno–Hatta International Airport to Ahmad Yani
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- Rp 800,000–1,300,000
- Website
- flynamair.com
Flights from Soekarno–Hatta International Airport to Ahmad Yani via Pangkalanbun
- Ave. Duration
- 2h 52m
- When
- Every day
- Estimated price
- Rp 1,000,000–6,000,000
- Phone
- 021-121
- [email protected]
- Website
- kai.id
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 Tawang
- Ave. Duration
- 4h 36m
- 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
- [email protected]
- 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
- 12 Go
- Phone
- +62291440019
- [email protected]
- 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
- 12go.asia
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 Slovenia: Getting from Ljubljana to Lake Bled, How do I buy a London Underground ticket?, and Italian Lakes: Getting around by train - to help you get the most out of your next trip.
Booking & Getting There
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 55m to drive from Jakarta to Semarang.
Book your Jakarta to Semarang train tickets online with 12go.asia.
Book your Jakarta to Semarang bus tickets online with Omio and 12go.asia.
There are 422+ hotels available in Semarang.












