There are 7 ways to get from Surabaya to Johor Bahru by plane, bus, ferry, or train
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly to Senai International Airport
best- Fly from Juanda International Airport (SUB) to Senai International Airport (JHB)plane SUB - JHB
3h 34mRM 390–1,750Bus, ferry
cheapest- Take the bus from Surabaya Kota to DAMRI Bus Station Jakartabus
- Take the ferry from Port of Tanjung Priok to Batu Amparferry
- Take the ferry from Batam Harbour Bay Ferry Terminal to HarbourFrontferry
2d 4hRM 260–488Fly to Singapore Changi Airport
- Fly from Juanda International Airport (SUB) to Singapore Changi Airport (SIN)plane SUB - SIN
4h 24mRM 466–992Fly to Hang Nadim International Airport, ferry
- Fly from Juanda International Airport (SUB) to Hang Nadim International Airport (BTH)plane SUB - BTH
- Take the ferry from Batam Centre to Berjaya Waterfront Ferry Terminal Johor Bahruferry
5h 35mRM 580–711Train, ferry
- Take the train from Surabaya Pasar Turi to Jatinegaratrain
- Take the ferry from Port of Tanjung Priok to Tanjung Balai Karimunferry
- Take the ferry from Tanjung Balai Karimun to Singapore Harbour Frontferry
2d 5hRM 332–558Ferry via Kebonkelapa
- Take the ferry from Surabaya to Tanjung Priokferry
- Take the ferry from Port of Tanjung Priok to Batu Amparferry
- Take the ferry from Batam Centre to Berjaya Waterfront Ferry Terminal Johor Bahruferry
2d 22hRM 282–329Ferry
- Take the ferry from Surabaya - Tanjung Perak Port to Pelabuhan Sri Bayintan Kijangferry Km Umsini
- Take the ferry from Sri Bintan Pura Ferry Terminal to Tanah Merahferry
3d 7hRM 275–630
Surabaya to Johor Bahru by train, taxi, bus, ferry, foot, and subway
Questions & Answers
The cheapest way to get from Surabaya to Johor Bahru is to ferry via Kebonkelapa which costs RM 280 - RM 330 and takes 2 days 22h.
The fastest way to get from Surabaya to Johor Bahru is to fly which takes 3h 34m and costs RM 390 - RM 1800.
No, there is no direct ferry from Surabaya to Johor Bahru. However, there are services departing from Surabaya and arriving at Berjaya Waterfront Ferry Terminal Johor Bahru via Port of Tanjung Priok and Batam Centre. The journey, including transfers, takes approximately 2 days 22h.
The distance between Surabaya and Johor Bahru is 1475 km.
The best way to get from Surabaya to Johor Bahru without a car is to bus and ferry which takes 2 days 4h and costs RM 260 - RM 490.
It takes approximately 3h 34m to get from Surabaya to Johor Bahru, including transfers.
Johor Bahru is 1h ahead of Surabaya. It is currently 3:20 AM in Surabaya and 4:20 AM in Johor Bahru.
There are 3476+ hotels available in Johor Bahru.
What companies run services between Surabaya, Indonesia and Johor Bahru, Malaysia?
Indonesia AirAsia and Malaysia Airlines fly from Juanda International Airport (SUB) to Senai International Airport (JHB) once daily. Alternatively, you can take a vehicle from Surabaya to Berjaya Waterfront Ferry Terminal Johor Bahru via Surabaya, Tanjung Priok, Port of Tanjung Priok, Batu Ampar, and Batam Centre in around 2d 22h.
- Website
- garuda-indonesia.com
Flights from Juanda International Airport to Singapore Changi Airport
- Ave. Duration
- 2h 27m
- When
- Every day
- Estimated price
- RM 340–1,200
Flights from Juanda International Airport to Singapore Changi Airport via Soekarno–Hatta
- Ave. Duration
- 4h 56m
- When
- Every day
- Estimated price
- RM 410–1,100
Flights from Juanda International Airport to Hang Nadim International Airport
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- RM 440–600
Flights from Juanda International Airport to Hang Nadim International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 42m
- When
- Every day
- Estimated price
- RM 470–1,300
- Website
- singaporeair.com
Flights from Juanda International Airport to Singapore Changi Airport
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- RM 330–1,200
- Website
- batikair.com
Flights from Juanda International Airport to Singapore Changi Airport via Soekarno–Hatta
- Ave. Duration
- 4h 15m
- When
- Every day
- Estimated price
- RM 500–1,100
Flights from Juanda International Airport to Hang Nadim International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 50m
- When
- Every day
- Estimated price
- RM 490–1,300
- Website
- citilink.co.id
Flights from Juanda International Airport to Singapore Changi Airport via Soekarno–Hatta
- Ave. Duration
- 4h 40m
- When
- Every day
- Estimated price
- RM 600–950
Flights from Juanda International Airport to Hang Nadim International Airport
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- RM 440–600
Flights from Juanda International Airport to Hang Nadim International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 30m
- When
- Every day
- Estimated price
- RM 440–600
- Website
- lionair.co.id
Flights from Juanda International Airport to Hang Nadim International Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- RM 430–550
Flights from Juanda International Airport to Hang Nadim International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 20m
- When
- Every day
- Estimated price
- RM 430–550
- Website
- malaysiaairlines.com
Flights from Juanda International Airport to Senai International Airport via Kuala Lumpur
- Ave. Duration
- 5h 25m
- When
- Friday and Sunday
- Estimated price
- RM 440–1,400
Flights from Juanda International Airport to Singapore Changi Airport via Kuala Lumpur
- Ave. Duration
- 4h 50m
- When
- Monday, Tuesday, Friday, and Sunday
- Estimated price
- RM 410–1,300
- Website
- flyscoot.com
Flights from Juanda International Airport to Singapore Changi Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- RM 330–650
- Website
- airasia.com
Flights from Juanda International Airport to Senai International Airport
- Ave. Duration
- 2h 15m
- When
- Monday, Wednesday, Friday, Saturday, and Sunday
- Estimated price
- RM 300–1,200
- Phone
- 021-121
- [email protected]
- Website
- kai.id
Train from Surabaya Pasar Turi to Jatinegara
- Ave. Duration
- 7h 40m
- Frequency
- Every 4 hours
- Estimated price
- RM 70–100
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- RM 70–100
- Business
- RM 110–130
- Executive
- RM 160–240
- Phone
- (021) 1500 825
- [email protected]
- Website
- damri.co.id
Bus from Surabaya Kota to DAMRI Bus Station Jakarta
- Ave. Duration
- 10h
- Frequency
- Once daily
- Estimated price
- RM 45–190
- Book at
- https://12go.asia/en/operator/damri
- Phone
- +62 811-1621-162
- [email protected]
- Website
- facebook.com
Ferry from Port of Tanjung Priok to Batu Ampar
- Ave. Duration
- 37h 58m
- Frequency
- Once daily
- Estimated price
- RM 85–110
- Schedules at
- pelni.co.id
- Economy Class
- RM 85–110
Ferry from Port of Tanjung Priok to Tanjung Balai Karimun
- Ave. Duration
- 40h 20m
- Frequency
- Once daily
- Estimated price
- RM 90–120
- Schedules at
- pelni.co.id
- Economy Class
- RM 90–120
Ferry from Surabaya to Tanjung Priok
- Ave. Duration
- 28h 35m
- Frequency
- Twice daily
- Estimated price
- RM 70–85
- Book at
- pelni.co.id
- Economy Class
- RM 70–85
Ferry from Port of Tanjung Priok to Batu Ampar
- Ave. Duration
- 37h 58m
- Frequency
- Once daily
- Estimated price
- RM 85–110
- Schedules at
- pelni.co.id
- Economy Class
- RM 85–110
Ferry from Surabaya - Tanjung Perak Port to Pelabuhan Sri Bayintan Kijang
- Ave. Duration
- 2d 23h
- Frequency
- Once daily
- Estimated price
- RM 110–140
- Book at
- pelni.co.id
- Economy Class
- RM 110–140
- [email protected]
- Website
- horizonfastferry.com.sg
Ferry from Batam Harbour Bay Ferry Terminal to HarbourFront
- Ave. Duration
- 50 min
- Frequency
- Hourly
- Estimated price
- RM 140–210
- Schedules at
- horizonfastferry.com.sg
- Phone
- +65 6270 2228
- [email protected]
- Website
- batamfast.com
Ferry from Batam Harbour Bay Ferry Terminal to HarbourFront
- Ave. Duration
- 50 min
- Frequency
- Every 2 hours
- Estimated price
- RM 100–160
- Schedules at
- batamfast.com
- Book at
- batamfast.com
- Phone
- +607 221 8000
- Website
- berjayawaterfront.com
Ferry from Batam Centre to Berjaya Waterfront Ferry Terminal Johor Bahru
- Ave. Duration
- 2h
- Frequency
- Hourly
- Estimated price
- RM 100
- Schedules at
- berjayawaterfront.com.my
Ferry from Batam Centre to Berjaya Waterfront Ferry Terminal Johor Bahru
- Ave. Duration
- 2h
- Frequency
- Hourly
- Estimated price
- RM 100
- Schedules at
- berjayawaterfront.com.my
- Phone
- +65 6331 4123
- [email protected]
- Website
- sindoferry.com.sg
Ferry from Tanjung Balai Karimun to Singapore Harbour Front
- Ave. Duration
- 2h
- Frequency
- Twice daily
- Estimated price
- RM 140–300
- Schedules at
- sindoferry.com.sg
- Book at
- 12go.asia
Ferry from Sri Bintan Pura Ferry Terminal to Tanah Merah
- Ave. Duration
- 1h 45m
- Frequency
- Twice daily
- Estimated price
- RM 140–410
- Schedules at
- 12go.asia
- Phone
- +65 6278 9688
- [email protected]
- Website
- majesticfastferry.com.sg
Ferry from Sri Bintan Pura Ferry Terminal to Tanah Merah
- Ave. Duration
- 2h 10m
- Frequency
- Twice daily
- Estimated price
- RM 190–450
- Schedules at
- majesticfastferry.com.sg
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 South Korea: Travelling from Seoul to Busan , How to get from Florence to Rome, and Getting to Rome from the airport - to help you get the most out of your next trip.


















