There are 9 ways to get from Johor to Surabaya by bus, plane, 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.
Bus to Singapore Changi Airport, fly to Juanda International Airport
best- Take the bus from Johor Bahru CIQ to Expo Stnbus
- Fly from Singapore Changi Airport (SIN) to Juanda International Airport (SUB)plane SIN - SUB
8h 26mRp 1,898,747–4,795,020Ferry, bus
cheapest- Take the ferry from HarbourFront to Batam Harbour Bay Ferry Terminalferry
- Take the ferry from Batu Ampar to Port of Tanjung Priokferry
- Take the bus from DAMRI Bus Station Jakarta to Surabaya Kotabus
2d 4hRp 1,174,971–2,136,329Fly Senai International Airport to Juanda International Airport, train
- Fly from Senai International Airport (JHB) to Juanda International Airport (SUB)plane JHB - SUB
- Take the train from Waru to Surabaya Gubengtrain
7h 50mRp 1,550,517–8,126,390Ferry to Hang Nadim International Airport, fly to Juanda International Airport
- Take the ferry from Berjaya Waterfront Ferry Terminal Johor Bahru to Batam Centreferry
- Fly from Hang Nadim International Airport (BTH) to Juanda International Airport (SUB)plane BTH - SUB
9h 19mRp 2,334,529–3,521,697Bus to Singapore Changi Airport, fly to Abdul Rachman Saleh Airport, train
- Take the bus from Johor Bahru CIQ to Expo Stnbus
- Fly from Singapore Changi Airport (SIN) to Abdul Rachman Saleh Airport (MLG)plane SIN - MLG
- Take the train from Lawang to Gubengtrain
10h 28mRp 3,724,247–5,755,020Bus to Singapore Changi Airport, fly to Ahmad Yani, train
- Take the bus from Johor Bahru CIQ to Expo Stnbus
- Fly from Singapore Changi Airport (SIN) to Ahmad Yani (SRG)plane SIN - SRG
- Take the train from Semarang Tawang to Surabaya Pasar Turitrain
9h 32mRp 2,819,247–5,545,020Ferry, bus, train
- Take the ferry from HarbourFront to Batam Harbour Bay Ferry Terminalferry
- Take the ferry from Batu Ampar to Port of Tanjung Priokferry
- Take the bus from Kelapa Gading to Dipati Ukurbus
- Take the train from Bandung to Surabaya Gubengtrain
2d 6hRp 1,536,704–2,045,794Ferry via Kebonkelapa
- Take the ferry from Berjaya Waterfront Ferry Terminal Johor Bahru to Batam Centreferry
- Take the ferry from Batu Ampar to Port of Tanjung Priokferry
- Take the ferry from Tanjung Priok to Surabayaferry
2d 22hRp 1,245,029–1,421,697Ferry
- Take the ferry from Tanah Merah to Sri Bintan Pura Ferry Terminalferry
- Take the ferry from Pelabuhan Sri Bayintan Kijang to Surabaya - Tanjung Perak Portferry Km Umsini
3d 7hRp 1,298,100–2,758,552
Singapore Changi Airport (SIN) to Juanda International Airport (SUB) flights
Questions & Answers
The cheapest way to get from Johor to Surabaya is to ferry via Kebonkelapa which costs Rp1200000 - Rp1500000 and takes 2 days 22h.
The fastest way to get from Johor to Surabaya is to fly and train which takes 7h 50m and costs Rp1500000 - Rp8500000.
No, there is no direct ferry from Johor to Surabaya. However, there are services departing from Berjaya Waterfront Ferry Terminal Johor Bahru and arriving at Surabaya via Batu Ampar and Tanjung Priok. The journey, including transfers, takes approximately 2 days 22h.
The distance between Johor and Surabaya is 1448 km.
The best way to get from Johor to Surabaya without a car is to ferry and bus which takes 2 days 4h and costs Rp1100000 - Rp2200000.
It takes approximately 8h 26m to get from Johor to Surabaya, including transfers.
Surabaya is 1h behind Johor. It is currently 1:06 AM in Johor and 12:06 AM in Surabaya.
There are 975+ hotels available in Surabaya.
What companies run services between Johor, Malaysia and Surabaya, Indonesia?
You can take a bus from JB Sentral to Surabaya via Flat Sri Stulang, Berjaya Waterfront Ferry Terminal Johor Bahru, Batam Centre, Batu Ampar, Port of Tanjung Priok, Tanjung Priok, and Surabaya in around 2d 22h.
- Website
- garuda-indonesia.com
Flights from Singapore Changi Airport to Juanda International Airport
- Ave. Duration
- 2h 22m
- When
- Every day
- Estimated price
- Rp 1,500,000–5,500,000
Flights from Singapore Changi Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 2m
- When
- Every day
- Estimated price
- Rp 1,800,000–4,500,000
Flights from Senai International Airport to Juanda International Airport via Kuala Lumpur
- Ave. Duration
- 4h 35m
- When
- Saturday and Sunday
- Estimated price
- Rp 2,000,000–6,000,000
Flights from Hang Nadim International Airport to Juanda International Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- Rp 1,900,000–2,500,000
Flights from Hang Nadim International Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 10m
- When
- Every day
- Estimated price
- Rp 1,800,000–4,800,000
Flights from Singapore Changi Airport to Abdul Rachman Saleh Airport via Soekarno–Hatta
- Ave. Duration
- 4h 25m
- When
- Every day
- Estimated price
- Rp 2,600,000–10,000,000
Flights from Singapore Changi Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 4h 26m
- When
- Every day
- Estimated price
- Rp 1,800,000–6,500,000
- Website
- singaporeair.com
Flights from Singapore Changi Airport to Juanda International Airport
- Ave. Duration
- 2h 23m
- When
- Every day
- Estimated price
- Rp 1,400,000–5,500,000
Flights from Singapore Changi Airport to Ahmad Yani
- Ave. Duration
- 2h 10m
- When
- Thursday, Saturday, Tuesday, and Wednesday
- Estimated price
- Rp 2,500,000–3,500,000
Flights from Singapore Changi Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 4h 36m
- When
- Every day
- Estimated price
- Rp 1,800,000–6,500,000
- Website
- batikair.com
Flights from Singapore Changi Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 46m
- When
- Every day
- Estimated price
- Rp 2,300,000–4,800,000
Flights from Hang Nadim International Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 20m
- When
- Every day
- Estimated price
- Rp 1,900,000–5,000,000
Flights from Singapore Changi Airport to Abdul Rachman Saleh Airport via Soekarno–Hatta
- Ave. Duration
- 4h 37m
- When
- Every day
- Estimated price
- Rp 2,600,000–10,000,000
Flights from Singapore Changi Airport to Ahmad Yani via Soekarno–Hatta
- Ave. Duration
- 3h 50m
- When
- Every day
- Estimated price
- Rp 2,900,000–5,000,000
- Website
- flyscoot.com
Flights from Singapore Changi Airport to Juanda International Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- Rp 1,400,000–2,800,000
Flights from Singapore Changi Airport to Ahmad Yani
- Ave. Duration
- 2h 10m
- When
- Thursday, Saturday, Tuesday, and Wednesday
- Estimated price
- Rp 2,500,000–3,500,000
- Website
- citilink.co.id
Flights from Singapore Changi Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 30m
- When
- Every day
- Estimated price
- Rp 2,600,000–4,000,000
Flights from Hang Nadim International Airport to Juanda International Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- Rp 1,900,000–2,500,000
Flights from Hang Nadim International Airport to Juanda International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 27m
- When
- Every day
- Estimated price
- Rp 1,900,000–2,500,000
- Website
- lionair.co.id
Flights from Hang Nadim International Airport to Juanda International Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- Rp 1,800,000–2,400,000
- Website
- airasia.com
Flights from Senai International Airport to Juanda International Airport
- Ave. Duration
- 2h 20m
- When
- Monday, Wednesday, Friday, Saturday, and Sunday
- Estimated price
- Rp 1,300,000–5,500,000
- Website
- malaysiaairlines.com
Flights from Senai International Airport to Juanda International Airport via Kuala Lumpur
- Ave. Duration
- 4h 35m
- When
- Saturday and Sunday
- Estimated price
- Rp 2,000,000–6,000,000
- Phone
- 021-121
- [email protected]
- Website
- kai.id
Train from Waru to Surabaya Gubeng
- Ave. Duration
- 21 min
- Frequency
- Every 4 hours
- Estimated price
- Rp 6,000–320,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 6,000–320,000
- Business
- Rp 280,000–550,000
- Executive
- Rp 11,000–650,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 Bandung to Surabaya Gubeng
- Ave. Duration
- 9h 40m
- Frequency
- Twice daily
- Estimated price
- Rp 320,000–430,000
- Schedules at
- kai.id
- Book at
- en.tiket.com
- Economy
- Rp 320,000–430,000
- Business
- Rp 490,000–550,000
- Executive
- Rp 700,000–1,100,000
- Phone
- +65 6295 9009
- [email protected]
- Website
- transtar.travel
Bus from Johor Bahru CIQ to Expo Stn
- Ave. Duration
- 1h 10m
- Frequency
- Every 4 hours
- Estimated price
- Rp 65,000–310,000
- Schedules at
- transtar.travel
Bus from Johor Bahru CIQ to Expo Stn
- Ave. Duration
- 1h 10m
- Frequency
- Every 4 hours
- Estimated price
- Rp 65,000–310,000
- Schedules at
- transtar.travel
Bus from Johor Bahru CIQ to Expo Stn
- Ave. Duration
- 1h 10m
- Frequency
- Every 4 hours
- Estimated price
- Rp 65,000–310,000
- Schedules at
- transtar.travel
- Phone
- (021) 1500 825
- [email protected]
- Website
- damri.co.id
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
- Phone
- 02179171717
- [email protected]
- Website
- cititrans.co.id
Bus from Kelapa Gading to Dipati Ukur
- Ave. Duration
- 3h
- Frequency
- Hourly
- Estimated price
- Rp 180,001
- Schedules at
- cititrans.co.id
- Book at
- traveloka.com
- [email protected]
- Website
- horizonfastferry.com.sg
Ferry from HarbourFront to Batam Harbour Bay Ferry Terminal
- Ave. Duration
- 50 min
- Frequency
- Hourly
- Estimated price
- Rp 650,000–800,000
- Schedules at
- horizonfastferry.com.sg
Ferry from HarbourFront to Batam Harbour Bay Ferry Terminal
- Ave. Duration
- 50 min
- Frequency
- Hourly
- Estimated price
- Rp 650,000–800,000
- Schedules at
- horizonfastferry.com.sg
- Phone
- +65 6270 2228
- [email protected]
- Website
- batamfast.com
Ferry from HarbourFront to Batam Harbour Bay Ferry Terminal
- Ave. Duration
- 50 min
- Frequency
- Every 2 hours
- Estimated price
- Rp 450,000–700,000
- Schedules at
- batamfast.com
- Book at
- batamfast.com
Ferry from HarbourFront to Batam Harbour Bay Ferry Terminal
- Ave. Duration
- 50 min
- Frequency
- Every 2 hours
- Estimated price
- Rp 450,000–700,000
- Schedules at
- batamfast.com
- Book at
- batamfast.com
- Phone
- +62 811-1621-162
- [email protected]
- Website
- facebook.com
Ferry from Batu Ampar to Port of Tanjung Priok
- Ave. Duration
- 36h 45m
- Frequency
- Once daily
- Estimated price
- Rp 390,000–470,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 390,000–470,000
Ferry from Batu Ampar to Port of Tanjung Priok
- Ave. Duration
- 36h 45m
- Frequency
- Once daily
- Estimated price
- Rp 390,000–470,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 390,000–470,000
Ferry from Batu Ampar to Port of Tanjung Priok
- Ave. Duration
- 36h 45m
- Frequency
- Once daily
- Estimated price
- Rp 390,000–470,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 390,000–470,000
Ferry from Tanjung Priok to Surabaya
- Ave. Duration
- 28h 34m
- Frequency
- Twice daily
- Estimated price
- Rp 300,000–370,000
- Book at
- pelni.co.id
- Economy Class
- Rp 300,000–370,000
Ferry from Pelabuhan Sri Bayintan Kijang to Surabaya - Tanjung Perak Port
- Ave. Duration
- 2d 23h
- Frequency
- Once daily
- Estimated price
- Rp 490,000–600,000
- Book at
- pelni.co.id
- Economy Class
- Rp 490,000–600,000
- Phone
- +607 221 8000
- Website
- berjayawaterfront.com
Ferry from Berjaya Waterfront Ferry Terminal Johor Bahru to Batam Centre
- Ave. Duration
- 2h
- Frequency
- Hourly
- Estimated price
- Rp 435,578
- Schedules at
- berjayawaterfront.com.my
Ferry from Berjaya Waterfront Ferry Terminal Johor Bahru to Batam Centre
- Ave. Duration
- 2h
- Frequency
- Hourly
- Estimated price
- Rp 435,578
- Schedules at
- berjayawaterfront.com.my
- Phone
- +65 6331 4123
- [email protected]
- Website
- sindoferry.com.sg
Ferry from Tanah Merah to Sri Bintan Pura Ferry Terminal
- Ave. Duration
- 1h 45m
- Frequency
- Twice daily
- Estimated price
- Rp 700,000–1,800,000
- Schedules at
- 12go.asia
- Phone
- +65 6278 9688
- [email protected]
- Website
- majesticfastferry.com.sg
Ferry from Tanah Merah to Sri Bintan Pura Ferry Terminal
- Ave. Duration
- 2h 10m
- Frequency
- Twice daily
- Estimated price
- Rp 750,000–2,000,000
- 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 How to get from London to Edinburgh, The London Underground: Essential tips to navigate the Tube, and Train travel in France: A guide to SNCF - to help you get the most out of your next trip.






















