How to travel from Medan to Surabaya, Indonesia

The distance between Medan and Surabaya is around 2,127km (1,322 miles) and the quickest way to get there is to fly which takes around 5hrs.

8 routes found

We've found 8 different ways to get from Medan to Surabaya by plane, train, bus, car and ferry. The recommended routes, which include information on duration, ticket price, and level of difficulty, can be found below.

👋 Also check out SurabayaMedan if you're planning a return trip.

🚀 Fastest
1
plane
+

Fly

Fly from Kuala Namu (KNO) to Juanda International (SUB).

  • Duration5hrs
  • Flight time4hrs
  • Typical cost
    IDR 1,288,105($86)
Operated by

Citilink Indonesia

+ 4 others

1 similiar route

We’ve grouped similar routes together, click the arrows to see the other options.

2
bus
+
ferry
+
bus
+

Bus and Ferry

Take the bus to Bandar Lampung then take a ferry to Gambir Station then take the bus to Surabaya Bungurasih Station.

  • Duration2 days 16h
  • Departsonce daily
  • Typical cost
    IDR 1,318,060($88)
Operated by

Multiple operators

💰 Cheapest
3
ferry
+
train
+

Ferry and Train

Take a ferry to Port of Tanjung Priok then take the train to Surabaya Pasar Turi.

  • Duration2 days 21h
  • Departsonce a week
  • Typical cost
    IDR 973,565($65)
Operated by

Multiple operators

2 similiar routes

We’ve grouped similar routes together, click the arrows to see the other options.

4
car
+
ferry
+
car
+

Car and Ferry

Drive to Bakauheni Port then take a ferry to Merak then drive to Surabaya.

  • Duration1 day 11h
  • Departshourly
  • Typical cost
    IDR 2,246,695($150)
Operated by

Multiple operators

1 similiar route

We’ve grouped similar routes together, click the arrows to see the other options.

Frequently asked questionsabout travel between Medan and Surabaya

There are several options for getting from Medan to Surabaya by plane, train, bus, car and ferry. The cheapest option is to take a ferry and then take the train which costs around IDR 973,565 ($65) and will take around 2 days 21h. If you need to get there more quickly, you can fly and arrive in approximately 5hrs, though it is a bit more costly at approximately IDR 1,288,105 ($86).

The distance between Medan and Surabaya is around 2,127km (1,322 miles). In a direct line (as the crow flies), the distance is 652km (405 miles)

It takes around 5hrs to get from Medan and Surabaya by plane.

The quickest way to get from Medan to Surabaya is to fly which takes around 5hrs and will set you back approx IDR 1,288,105 ($86).

The cheapest way to travel between Medan and Surabaya is to take a ferry and then take the train which will typically cost around IDR 973,565 ($65) for a standard one-way ticket.

Train travel

There is no train service that runs between Medan and Surabaya. We recommend that you fly from Kuala Namu (KNO) to Juanda International (SUB). instead which will take 5hrs.

Bus travel

Sorry, looks like there is no bus service that runs between Medan and Surabaya. We recommend that you fly from Kuala Namu (KNO) to Juanda International (SUB). instead which will take 5hrs.

Flights and Airlines

Yes you can fly from Medan and Surabaya. Flights depart from Kuala Namu (KNO) and arrive at Juanda International (SUB) - via Soekarno–Hatta (CGK). The flight takes around 4hrs.

There is no direct flight from Medan to Surabaya. There is however a flight that goes via Soekarno–Hatta (CGK). This services will take at least 5hrs (not including layover time).

The flight from Medan to Surabaya typically takes around 4hrs. Flights depart from Kuala Namu (KNO) and and arrive into Juanda International (SUB).

The closest major airport to Surabaya is Juanda International Airport (SUB) (SUB) which is approximately 16km (10 miles) from Surabaya. Abdul Rachman Saleh Airport (MLG) (MLG) and Blimbingsari Airport (BWX) (BWX) are also nearby and might be a better alternative airport depending on where you are flying from.

Drive yourself

No, its not really possible or feasible to drive from Medan to Surabaya. We recommend that you fly from Kuala Namu (KNO) to Juanda International (SUB). instead which will take 5hrs.

If you don't have a car, the easiest way to get from Medan to Surabaya is to fly which takes, on average, 5hrs and will usually cost around IDR 1,288,105 ($86).

How do I get from Medan to Surabaya

Compare travel optionsbetween Medan and Surabaya

Transport options from Medan to Surabaya
Transport optionDurationCostFrequencyDistance
Fly + 1 similar
5hrs
IDR 1,288,105($86)
every 3 hours2,127km (1,322 miles)
Plane and Train6h 40m
IDR 1,677,530($110)
once daily2,207km (1,371 miles)
Bus and Ferry
2 days 16h
IDR 1,318,060($88)
once daily2,738km (1,701 miles)
Ferry and Train + 2 similar
2 days 21h
IDR 973,565($65)
once a week2,540km (1,578 miles)
Ferry to Port of Tanjung Priok, Train3 days
IDR 988,545($66)
once a week2,645km (1,643 miles)
Ferry, Bus and Train3 days 10h
IDR 1,183,260($79)
once a week2,764km (1,718 miles)
Car and Ferry + 1 similar
1 day 11h
IDR 2,246,695($150)
hourly2,683km (1,667 miles)
Bus, Car, Ferry and Train2 days 3h
IDR 1,078,415($72)
once daily2,678km (1,664 miles)

Top Carriersoperating between Medan and Surabaya

Airlines

Train operators

Bus companies

Ferry operators

Airports near Surabaya

The following major airports near Surabaya offer regular flights to various popular destinations within Indonesia and internationally.

SUB
Juanda International Airport (SUB)
International Airport
Distance
16km (10 miles) from Surabaya
MLG
Abdul Rachman Saleh Airport (MLG)
Domestic Airport
Distance
76km (47 miles) from Surabaya
BWX
Blimbingsari Airport (BWX)
Domestic Airport
Distance
213km (132 miles) from Surabaya