There are 8 ways to get from Surabaya to Magelang by train, bus, taxi, 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.

Recommended option

Train  •  4 h 57 min

  1. Argo Wilis 5 / ...

$15 - $54

Cheapest option

Train, bus  •  7 h 26 min

  1. Gaya Baru Malam Selatan 173 / ...

$4 - $14

6 alternative options

Bus  •  10 h 50 min

$9 - $10

Taxi  •  4 h 32 min

  1. 219.5 miles

$95 - $120

Drive  •  4 h 32 min

  1. 219.5 miles

$19 - $29

Fly to Semarang, bus  •  3 h 46 min

  1. SUB - SRG

$46 - $141

Fly to Yogyakarta, bus  •  5 h 35 min

  1. SUB - JOG

$36 - $140

Fly to Solo, train, bus  •  5 h 49 min

  1. SUB - SOC

$36 - $181

What companies run services between Surabaya, Indonesia and Magelang, Indonesia?

Kereta API operates a train from Surabaya to Magelang every 4 hours. Tickets cost $3 - $40 and the journey takes 4 h 18 min. Alternatively, operates a bus from Surabaya to Magelang once daily. Tickets cost $9 and the journey takes 8 h 30 min.

Airlines
Wings Air
Website
lionair.co.id
Flights from Surabaya to Semarang
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$40 - $140
Flights from Surabaya to Yogyakarta
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$30 - $250
Flights from Surabaya to Solo
Ave. Duration
1 h
When
Every day
Estimated price
$30 - $150
Garuda Indonesia
Website
garuda-indonesia.com
Flights from Surabaya to Semarang
Ave. Duration
50 min
When
Every day
Estimated price
$55 - $170
Flights from Surabaya to Yogyakarta
Ave. Duration
1 h 20 min
When
Every day
Estimated price
$40 - $250
PT. Sriwijaya Air
Website
sriwijayaair.co.id
Flights from Surabaya to Semarang
Ave. Duration
55 min
When
Every day
Estimated price
$29 - $120
Flights from Surabaya to Yogyakarta
Ave. Duration
55 min
When
Every day
Estimated price
$28 - $130
Train operators
Kereta API
Phone
021-121
Website
tiket.kereta-api.co.id
Train from Gubeng to Yogyakarta
Ave. Duration
4 h 18 min
Frequency
Every 4 hours
Estimated price
$3 - $40
Website
kai.id
Book at
tiket.com
Economy
$3 - $12
Business
$8 - $13
Executive
$12 - $19
Train from Surabaya Gubeng to Yogyakarta Lempuyangan
Ave. Duration
4 h 56 min
Frequency
Twice daily
Estimated price
$3 - $12
Website
kai.id
Book at
tiket.com
Economy
$3 - $12
Business
$8 - $13
Executive
$12 - $19
Train from Purwosari to Yogyakarta Lempuyangan
Ave. Duration
48 min
Frequency
Every 4 hours
Estimated price
$1 - $7
Website
kai.id
Book at
tiket.com
Economy
$1 - $7
Business
$1 - $5
Executive
$3 - $10
Bus operators
Kramat Djati
Website
kramatdjati.co.id
Bus from Yogyakarta to Magelang
Ave. Duration
1 h 20 min
Frequency
Every 4 hours
Estimated price
$1 - $2
Schedules at
kramatdjati.co.id
Book at
easybook.com
Bus from Bawen Bus Station to Magelang
Ave. Duration
1 h 10 min
Frequency
Every 4 hours
Estimated price
$1
Schedules at
kramatdjati.co.id
Book at
easybook.com
bus
Bus from Surabaya to Yogyakarta
Ave. Duration
8 h 30 min
Frequency
Once daily
Estimated price
$9
Other operators
Taxi from Surabaya to Magelang
Ave. Duration
4 h 32 min
Estimated price
$95 - $120
Blue Bird Group
Phone
+62 313 721234
Website
bluebirdgroup.com

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 Need to know: Greyhound, Slovenia: Getting from Ljubljana to Lake Bled and Need to know: Jadrolinija - to help you get the most out of your next trip.

Questions & Answers

The distance between Surabaya and Magelang is 280 km. The road distance is 351 km.

The cheapest way to get from Surabaya to Magelang is to bus which costs Rp120000 - Rp150000 and takes 10 h 50 min.

The quickest way to get from Surabaya to Magelang is to fly and bus which takes 3 h 46 min and costs Rp650000 - Rp2000000.

No, there is no direct bus from Surabaya to Magelang. However, there are services departing from Surabaya and arriving at Magelang via Yogyakarta. The journey, including transfers, takes approximately 10 h 50 min.

It takes approximately 4 h 57 min to get from Surabaya to Magelang, including transfers.