There are 13 ways to get from Medan to Surabaya by train, plane, bus, busferry, ferry, car, car ferry, or shuttle
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 Kuala Namu International Airport, fly to Juanda International Airport
best- Take the train from Medan to Kuala Namutrain
- Fly from Kuala Namu International Airport (KNO) to Juanda International Airport (SUB)plane KNO - SUB
10h 7mRp 2,749,500–3,935,000Bus, bus and ferry
cheapest- Take the bus from Medan Putra Pelangi to Bandar Lampungbus
- Take the busferry from Bandar Lampung to DAMRI Bus Station Jakartabusferry
- Take the bus from DAMRI Bus Station Jakarta to Surabaya Kotabus
2d 4hRp 955,014–2,040,757Bus, bus and ferry, train
- Take the bus from Medan Putra Pelangi to Bandar Lampungbus
- Take the busferry from Bandar Lampung to Gambir Stationbusferry
- Take the train from Jakarta Gambir to Surabaya Pasar Turitrain
2d 1hRp 1,065,014–1,680,757Ferry, train via Jakarta
- Take the ferry from Belawan to Port of Tanjung Priokferry KM Kelud
- Take the train from Jakarta Gambir to Surabaya Pasar Turitrain Argo Bromo Anggrek / ...
2d 22hRp 1,052,870–1,364,392Drive, car ferry
- Drive from Medan to Bakauheni Portcar
- Take the car ferry from Bakauheni Port to Merakcarferry
- Drive from Merak to Surabayacar
36h 5mRp 4,965,446–7,598,089Fly Kuala Namu International Airport to Abdul Rachman Saleh Airport, train
- Fly from Kuala Namu International Airport (KNO) to Abdul Rachman Saleh Airport (MLG)plane KNO - MLG
- Take the train from Lawang to Gubengtrain
12h 5mRp 3,175,000–4,695,000Fly Kuala Namu International Airport to Kediri, shuttle
- Fly from Kuala Namu International Airport (KNO) to Kediri (DHX)plane KNO - DHX
- Take a shuttle bus from Nganjuk to Surabaya
11h 30mBus, bus to Silangit Airport, fly to Juanda International Airport
- Take the bus from Amplas Station to Parapatbus
- Take the bus from Parapat to Silangit Airportbus
- Fly from Silangit Airport (DTB) to Juanda International Airport (SUB)plane DTB - SUB
17h 6mRp 2,630,781–4,841,605Fly Kuala Namu International Airport to Ahmad Yani, train
- Fly from Kuala Namu International Airport (KNO) to Ahmad Yani (SRG)plane KNO - SRG
- Take the train from Semarang Tawang to Surabaya Pasar Turitrain
12h 43mRp 2,370,000–3,985,000Fly Kuala Namu International Airport to Adisumarmo International Airport, train
- Fly from Kuala Namu International Airport (KNO) to Adisumarmo International Airport (SOC)plane KNO - SOC
- Take the train from Solo Balapan to Surabaya Gubengtrain
13h 30mRp 2,397,000–3,992,000Fly Kuala Namu International Airport to Yogyakarta International Airport, train
- Fly from Kuala Namu International Airport (KNO) to Yogyakarta International Airport (YIA)plane KNO - YIA
- Take the train from Yogyakarta International Airport to Yogyakarta Tugu Stationtrain
- Take the train from Yogyakarta to Surabaya Gubengtrain
13h 12mRp 2,740,000–3,945,000Ferry, train
- Take the ferry from Belawan to Port of Tanjung Priokferry KM Kelud
- Take the train from Pasar Senen to Surabaya Pasar Turitrain Gumarang / ...
3d 1hRp 1,046,870–1,348,392Ferry, bus, shuttle
- Take the ferry from Belawan to Port of Tanjung Priokferry
- Take the bus from Jakarta Kampung Rambutan Bus Station to Kudusbus
- Take a shuttle bus from Kudus to Surabaya
3d 6hRp 1,146,870–1,648,392
Kuala Namu International Airport (KNO) to Juanda International Airport (SUB) flights
Questions & Answers
The cheapest way to get from Medan to Surabaya is to ferry and train which costs Rp1000000 - Rp1400000 and takes 3 days 1h.
The fastest way to get from Medan to Surabaya is to train and fly which takes 10h 7m and costs Rp2700000 - Rp4000000.
No, there is no direct bus from Medan to Surabaya. However, there are services departing from Medan Putra Pelangi and arriving at Surabaya Kota via Bandar Lampung and DAMRI Bus Station Jakarta. The journey, including transfers, takes approximately 2 days 4h.
The distance between Medan and Surabaya is 2035 km.
The best way to get from Medan to Surabaya without a car is to bus and bus and ferry and train which takes 2 days 1h and costs Rp1000000 - Rp1700000.
It takes approximately 10h 7m to get from Medan to Surabaya, including transfers.
Medan to Surabaya bus services, operated by Putra Pelangi, depart from Medan Putra Pelangi station.
Medan to Surabaya bus services, operated by Putra Pelangi, arrive at Bandar Lampung station.
There are 980+ hotels available in Surabaya.
What companies run services between Medan, Indonesia and Surabaya, Indonesia?
There is no direct connection from Medan to Surabaya. However, you can take the train to Kuala Namu, walk to Kuala-Namu-Airport-KNO airport, fly to Juanda International Airport (SUB), walk to Juanda Surabaya Airport, take the bus to Surabaya Bungurasih Bus Station, walk to Waru, then take the train to Surabaya Gubeng. Alternatively, you can take a bus from Medan Putra Pelangi to Surabaya Pasar Turi via Bandar Lampung, Bandar Lampung, Gambir Station, and Jakarta Gambir in around 2d 1h.
- Website
- garuda-indonesia.com
Flights from Kuala Namu International Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 6h 6m
- When
- Every day
- Estimated price
- Rp 2,200,000–6,000,000
Flights from Kuala Namu International Airport to Juanda International Airport via Kuala Lumpur
- Ave. Duration
- 5h 30m
- When
- Wednesday to Sunday
- Estimated price
- Rp 1,200,000–5,500,000
Flights from Kuala Namu International Airport to Abdul Rachman Saleh Airport via Soekarno–Hatta
- Ave. Duration
- 5h 35m
- When
- Every day
- Estimated price
- Rp 3,800,000–11,000,000
Flights from Silangit Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 6h 30m
- When
- Every day
- Estimated price
- Rp 2,500,000–3,900,000
Flights from Silangit Airport to Juanda International Airport via Hang Nadim
- Ave. Duration
- 7h 20m
- When
- Tuesday, Thursday, and Sunday
- Estimated price
- Rp 2,500,000–3,900,000
Flights from Kuala Namu International Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 6h 11m
- When
- Every day
- Estimated price
- Rp 2,600,000–7,000,000
Flights from Kuala Namu International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 45m
- When
- Every day
- Estimated price
- Rp 2,700,000–7,000,000
Flights from Kuala Namu International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 8m
- When
- Every day
- Estimated price
- Rp 2,500,000–7,000,000
- Website
- batikair.com
Flights from Kuala Namu International Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 37m
- When
- Every day
- Estimated price
- Rp 2,300,000–6,500,000
Flights from Kuala Namu International Airport to Abdul Rachman Saleh Airport via Soekarno–Hatta
- Ave. Duration
- 6h 28m
- When
- Every day
- Estimated price
- Rp 3,500,000–11,000,000
Flights from Silangit Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 15m
- When
- Every day
- Estimated price
- Rp 2,200,000–5,500,000
Flights from Kuala Namu International Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 6h 10m
- When
- Every day
- Estimated price
- Rp 2,700,000–7,500,000
Flights from Kuala Namu International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 12m
- When
- Every day
- Estimated price
- Rp 2,200,000–7,500,000
Flights from Kuala Namu International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 30m
- When
- Every day
- Estimated price
- Rp 2,700,000–7,500,000
- Website
- citilink.co.id
Flights from Kuala Namu International Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 28m
- When
- Every day
- Estimated price
- Rp 2,900,000–3,200,000
Flights from Kuala Namu International Airport to Abdul Rachman Saleh Airport via Soekarno–Hatta
- Ave. Duration
- 5h 52m
- When
- Every day
- Estimated price
- Rp 3,000,000–11,000,000
Flights from Silangit Airport to Juanda International Airport via Hang Nadim
- Ave. Duration
- 7h 20m
- When
- Tuesday, Thursday, and Sunday
- Estimated price
- Rp 2,500,000–3,900,000
Flights from Kuala Namu International Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 6h 10m
- When
- Every day
- Estimated price
- Rp 2,100,000–3,500,000
Flights from Kuala Namu International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 6h
- When
- Monday, Wednesday, Friday, and Saturday
- Estimated price
- Rp 2,200,000–3,600,000
Flights from Kuala Namu International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 55m
- When
- Every day
- Estimated price
- Rp 2,500,000–3,200,000
- Website
- superairjet.com
Flights from Kuala Namu International Airport to Juanda International Airport
- Ave. Duration
- 3h 10m
- When
- Tuesday, Thursday, and Saturday
- Estimated price
- Rp 1,900,000–3,600,000
Flights from Kuala Namu International Airport to Kediri via Soekarno–Hatta
- Ave. Duration
- 6h 2m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- Rp 2,400,000–7,500,000
- Website
- lionair.co.id
Flights from Kuala Namu International Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 30m
- When
- Every day
- Estimated price
- Rp 2,700,000–3,200,000
Flights from Kuala Namu International Airport to Adisumarmo International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 50m
- When
- Friday
- Estimated price
- Rp 2,500,000–5,000,000
Flights from Kuala Namu International Airport to Yogyakarta International Airport
- Ave. Duration
- 2h 50m
- When
- Tuesday, Thursday, Saturday, and Sunday
- Estimated price
- Rp 2,500,000–12,000,000
Flights from Kuala Namu International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 40m
- When
- Saturday
- Estimated price
- Rp 2,500,000–12,000,000
- Website
- pelita-air.com
Flights from Kuala Namu International Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 6h 40m
- When
- Every day
- Estimated price
- Rp 2,100,000–3,300,000
Flights from Silangit Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 35m
- When
- Every day
- Estimated price
- Rp 2,700,000–5,000,000
Flights from Kuala Namu International Airport to Yogyakarta International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 25m
- When
- Every day
- Estimated price
- Rp 2,300,000–3,800,000
- Website
- airasia.com
Flights from Kuala Namu International Airport to Juanda International Airport via Kuala Lumpur
- Ave. Duration
- 4h 37m
- When
- Every day
- Estimated price
- Rp 1,600,000–3,800,000
- Website
- malaysiaairlines.com
Flights from Kuala Namu International Airport to Juanda International Airport via Kuala Lumpur
- Ave. Duration
- 5h 30m
- When
- Wednesday to Sunday
- Estimated price
- Rp 1,200,000–5,500,000
- Website
- singaporeair.com
Flights from Kuala Namu International Airport to Ahmad Yani via Singapore Changi
- Ave. Duration
- 8h 45m
- When
- Tuesday and Wednesday
- Estimated price
- Rp 3,900,000–10,000,000
- Website
- airasia.com
Flights from Kuala Namu International Airport to Yogyakarta International Airport via Kuala Lumpur
- Ave. Duration
- 6h 10m
- When
- Every day
- Estimated price
- Rp 1,300,000–6,000,000
- [email protected]
- Website
- railink.co.id
Train from Medan to Kuala Namu
- Ave. Duration
- 44 min
- Frequency
- Hourly
- Estimated price
- Rp 40,000–65,000
- Schedules at
- railink.co.id
- Book at
- reservation.railink.co.id
Train from Yogyakarta International Airport to Yogyakarta Tugu Station
- Ave. Duration
- 35 min
- Frequency
- Hourly
- Estimated price
- Rp 20,000–50,000
- Schedules at
- railink.co.id
- Phone
- 021-121
- [email protected]
- Website
- kai.id
Train from Jakarta Gambir to Surabaya Pasar Turi
- Ave. Duration
- 7h 45m
- Frequency
- 4 times a day
- Estimated price
- Rp 320,000–440,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 320,000–440,000
- Business
- Rp 490,000–550,000
- Executive
- Rp 700,000–1,100,000
Train from Jakarta Gambir to Surabaya Pasar Turi
- Ave. Duration
- 7h 45m
- Frequency
- 4 times a day
- Estimated price
- Rp 320,000–440,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 320,000–440,000
- Business
- Rp 490,000–550,000
- Executive
- Rp 700,000–1,100,000
Train from Lawang to Gubeng
- Ave. Duration
- 1h 26m
- 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 Semarang Tawang to Surabaya Pasar Turi
- Ave. Duration
- 2h 53m
- Frequency
- Every 3 hours
- Estimated price
- Rp 160,000–330,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 160,000–330,000
- Business
- Rp 370,000–550,000
- Executive
- Rp 310,000–700,000
Train from Solo Balapan to Surabaya Gubeng
- Ave. Duration
- 3h 12m
- 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 Yogyakarta to Surabaya Gubeng
- Ave. Duration
- 4h
- Frequency
- Every 3 hours
- Estimated price
- Rp 180,000–330,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 180,000–330,000
- Business
- Rp 380,000–550,000
- Executive
- Rp 340,000–700,000
Train from Pasar Senen to Surabaya Pasar Turi
- Ave. Duration
- 10h 28m
- Frequency
- 5 times a day
- Estimated price
- Rp 320,000–440,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 320,000–440,000
- Business
- Rp 490,000–550,000
- Executive
- Rp 700,000–1,100,000
- Phone
- (061)8456325 - 8453256
- [email protected]
- Website
- putrapelangi.com
Bus from Medan Putra Pelangi to Bandar Lampung
- Ave. Duration
- 31h 20m
- Frequency
- Once daily
- Estimated price
- Rp 650,000–1,000,000
- Schedules at
- putrapelangi.com
- Book at
- traveloka.com
Bus from Medan Putra Pelangi to Bandar Lampung
- Ave. Duration
- 31h 20m
- Frequency
- Once daily
- Estimated price
- Rp 650,000–1,000,000
- Schedules at
- putrapelangi.com
- Book at
- traveloka.com
- Phone
- (021) 1500 825
- [email protected]
- Website
- damri.co.id
Busferry from Bandar Lampung to Gambir Station
- Ave. Duration
- 8h 52m
- Frequency
- Hourly
- Estimated price
- Rp 65,000–260,000
- Book at
- https://12go.asia/en/operator/damri
Bus from Parapat to Silangit Airport
- Ave. Duration
- 2h 59m
- Frequency
- 4 times a day
- Estimated price
- Rp 23,000–250,000
- Book at
- https://12go.asia/en/operator/damri
Busferry from Bandar Lampung to DAMRI Bus Station Jakarta
- Ave. Duration
- 9h
- Frequency
- Hourly
- Estimated price
- Rp 65,000–260,000
- Book at
- https://12go.asia/en/operator/damri
Bus from DAMRI Bus Station Jakarta to Surabaya Kota
- Ave. Duration
- 10h
- Frequency
- Once daily
- Estimated price
- Rp 210,000–800,000
- Book at
- https://12go.asia/en/operator/damri
- [email protected]
- Website
- indahjayatrans.com
Shuttle from Nganjuk to Surabaya
- Ave. Duration
- 1h 1m
- Frequency
- 4 times a day
- Schedules at
- indahjayatrans.com
Shuttle from Kudus to Surabaya
- Ave. Duration
- 2h 27m
- Frequency
- Twice daily
- Estimated price
- Rp 220,000–300,000
- Schedules at
- indahjayatrans.com
- 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
- Phone
- +62291440019
- [email protected]
- Website
- nu3tara.com
Bus from Jakarta Kampung Rambutan Bus Station to Kudus
- Ave. Duration
- 10h 18m
- 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 Belawan to Port of Tanjung Priok
- Ave. Duration
- 2d 12h
- Frequency
- Once daily
- Estimated price
- Rp 550,000–700,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 550,000–700,000
Ferry from Belawan to Port of Tanjung Priok
- Ave. Duration
- 2d 12h
- Frequency
- Once daily
- Estimated price
- Rp 550,000–700,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 550,000–700,000
Ferry from Belawan to Port of Tanjung Priok
- Ave. Duration
- 2d 12h
- Frequency
- Once daily
- Estimated price
- Rp 550,000–700,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 550,000–700,000
- Phone
- +62 811-1021-191
- [email protected]
- Website
- asdp.id
Car ferry from Bakauheni Port to Merak
- Ave. Duration
- 3h
- Frequency
- Hourly
- Estimated price
- Rp 16,000–360,000
- Schedules at
- ferizy.com
- Regular
- Rp 22,700
- Express
- Rp 84,800
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 Want to know more about Flixbus?, 4 of the smartest ways to explore Australia, and How to get from Southend Airport into central London - to help you get the most out of your next trip.



















