There are 5 ways to get from Surabaya to Batam by plane, train, bus, 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.
Fly
best- Fly from Juanda International Airport (SUB) to Hang Nadim International Airport (BTH)plane SUB - BTH
2h 52mRp 1,803,104–2,243,668Bus, ferry
cheapest- Take the bus from Surabaya Kota to DAMRI Bus Station Jakartabus Surabaya Kota - Jakarta
- Take the ferry from Port of Tanjung Priok to Batu Amparferry KM Kelud
2d 1hRp 666,722–1,349,727Train, bus, ferry
- Take the train from Surabaya Pasar Turi to Jakarta Gambirtrain
- Take the bus from Gambir Station to Jakarta Airportbus
- Take the ferry from Port of Tanjung Priok to Batu Amparferry
2dRp 733,000–1,405,512Train, ferry
- Take the train from Surabaya Pasar Turi to Pasar Senentrain Dharmawangsa / ...
- Take the ferry from Port of Tanjung Priok to Batu Amparferry KM Kelud
2d 3hRp 713,500–908,202Shuttle, bus, ferry
- Take a shuttle bus from Surabaya to Kudus
- Take the bus from Kudus to Jakarta Kampung Rambutan Bus Stationbus
- Take the ferry from Port of Tanjung Priok to Batu Amparferry
2d 7hRp 818,500–1,213,500
Juanda International Airport (SUB) to Hang Nadim International Airport (BTH) flights
Questions & Answers
The cheapest way to get from Surabaya to Batam is to train and ferry which costs Rp700000 - Rp950000 and takes 2 days 3h.
The fastest way to get from Surabaya to Batam is to fly which takes 2h 52m and costs Rp1800000 - Rp2300000.
The distance between Surabaya and Batam is 1385 km.
The best way to get from Surabaya to Batam without a car is to train and bus and ferry which takes 2 days 0h and costs Rp700000 - Rp1500000.
It takes approximately 2h 52m to get from Surabaya to Batam, including transfers.
There are 1010+ hotels available in Batam.
What companies run services between Surabaya, Indonesia and Batam, Indonesia?
Citilink Indonesia, Lion Mentari Airlines, and two other airlines fly from Juanda International Airport (SUB) to Hang Nadim International Airport (BTH) every 4 hours.
- Website
- lionair.co.id
Flights from Juanda International Airport to Hang Nadim International Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- Rp 1,700,000–3,700,000
Flights from Juanda International Airport to Hang Nadim International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 20m
- When
- Every day
- Estimated price
- Rp 1,800,000–3,800,000
Flights from Juanda International Airport to Hang Nadim International Airport via Sultan Syarif Kasim II
- Ave. Duration
- 4h 35m
- When
- Tuesday, Thursday, and Saturday
- Estimated price
- Rp 2,100,000–4,100,000
- Website
- citilink.co.id
Flights from Juanda International Airport to Hang Nadim International Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- Rp 1,600,000–1,900,000
Flights from Juanda International Airport to Hang Nadim International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 25m
- When
- Every day
- Estimated price
- Rp 1,600,000–1,900,000
- Website
- batikair.com
Flights from Juanda International Airport to Hang Nadim International Airport via Soekarno–Hatta
- Ave. Duration
- 4h 45m
- When
- Every day
- Estimated price
- Rp 1,900,000–6,000,000
- Website
- garuda-indonesia.com
Flights from Juanda International Airport to Hang Nadim International Airport via Soekarno–Hatta
- Ave. Duration
- 5h 5m
- When
- Every day
- Estimated price
- Rp 2,300,000–7,000,000
Train from Surabaya Pasar Turi to Jakarta Gambir
- 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 Surabaya Pasar Turi to Pasar Senen
- Ave. Duration
- 10h 1m
- 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
- (021) 1500 825
- humas@damri.co.id
- Website
- damri.co.id
Bus from Gambir Station to Jakarta Airport
- Ave. Duration
- 45 min
- Frequency
- Every 15 minutes
- Estimated price
- Rp 13,000–250,000
- Book at
- https://12go.asia/en/operator/damri
Bus from Surabaya Kota to DAMRI Bus Station Jakarta
- Ave. Duration
- 10h
- Frequency
- Once daily
- Estimated price
- Rp 210,000–800,000
- Book at
- https://12go.asia/en/operator/damri
- Phone
- 021-79171717
- Website
- bluebirdgroup.com
Bus from Gambir Station to Jakarta Airport
- Ave. Duration
- 57 min
- Frequency
- Hourly
- Estimated price
- Rp 75,001
- Schedules at
- bluebirdgroup.com
- contact@indahjayatrans.com
- Website
- indahjayatrans.com
Shuttle from Surabaya to Kudus
- Ave. Duration
- 2h 26m
- Frequency
- Twice daily
- Estimated price
- Rp 220,000–300,000
- Schedules at
- indahjayatrans.com
- Phone
- +62291440019
- cs@nu3tara.com
- Website
- nu3tara.com
Bus from Kudus to Jakarta Kampung Rambutan Bus Station
- Ave. Duration
- 10h 19m
- Frequency
- Twice daily
- Estimated price
- Rp 200,000–440,000
- Book at
- https://12go.asia/en/operator/nusantara
- Phone
- +62 811-1621-162
- infopelni162@pelni.co.id
- Website
- facebook.com
Ferry from Port of Tanjung Priok to Batu Ampar
- Ave. Duration
- 37h 58m
- Frequency
- Once daily
- Estimated price
- Rp 390,000–470,000
- Schedules at
- pelni.co.id
- Economy Class
- Rp 390,000–470,000
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 Getting around the Cyclades, 10 amazing places to get away from it all in Australia, and Travelling by boat in Italy - to help you get the most out of your next trip.














