There are 5 ways to get from Jakarta to Batam by plane, train, subway, ferry or car ferry

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Fly Jakarta to Batam  •  3 h 40 min

  1. Fly from Jakarta (CGK) to Batam (BTH) CGK - BTH

$42 - $94

4 alternative options

Fly Jakarta Halim Perdana Kusuma to Batam  •  3 h 35 min

  1. Fly from Jakarta Halim Perdana Kusuma (HLP) to Batam (BTH) HLP - BTH

$51 - $108

Train to Bandung, fly to Batam  •  6 h 12 min

  1. Take the train from Jakarta Gambir to Bandung
  2. Fly from Bandung (BDO) to Batam (BTH) BDO - BTH

$68 - $208

Fly Jakarta to Singapore, subway, ferry  •  6 h 23 min

  1. Fly from Jakarta (CGK) to Singapore (SIN) CGK - SIN
  2. Take the subway from Tanah Merah to Outram Park
  3. Take the ferry from Harbourfront Centre to Batam Centre

$47 - $158

Car ferry, ferry  •  2 days 22 h

  1. Take the car ferry from Tanjung Priok to Kijang
  2. Take the ferry from Tanjung Pinang to Tanah Merah
  3. Take the ferry from Tanah Merah to Batam Centre

$78 - $105

Questions & Answers

The cheapest way to get from Jakarta to Batam is to fly which costs Rp600000 - Rp1400000 and takes 3 h 40 min.

More details

The quickest way to get from Jakarta to Batam is to fly which costs Rp700000 - Rp1600000 and takes 3 h 35 min.

More details

The distance between Jakarta and Batam is 877 km.

It takes approximately 3 h 40 min to get from Jakarta to Batam, including transfers.

More details

The quickest flight from Jakarta Airport to Batam Airport is the direct flight which takes 1 h 35 min.

Search flights

Batik Air, NAM Air, PT. Sriwijaya Air and three other airlines offer flights from Jakarta Airport to Batam Airport.

Search flights

There are 380+ hotels available in Batam. Prices start at $21 USD per night.

More details

The best way to get from Jakarta to Jakarta Airport is to bus which takes 45 min and costs Rp30001.

More details

Map of how to get from Jakarta to Batam.
Launch map view
  • Distance: 547.9 miles
  • Duration: 3 h 40 min

What companies run services between Jakarta, Indonesia and Batam, Indonesia?

PT. Sriwijaya Air, Citilink Indonesia and four other airlines fly from Jakarta to Batam hourly.

Airlines
Garuda Indonesia
Website
garuda-indonesia.com
Flights from Jakarta to Batam
Ave. Duration
1 h 45 min
When
Every day
Estimated price
$55 - $130
Flights from Jakarta to Singapore
Ave. Duration
1 h 52 min
When
Every day
Estimated price
$100 - $410
Lion Mentari Airlines
Website
lionair.co.id
Flights from Jakarta to Batam
Ave. Duration
1 h 45 min
When
Every day
Estimated price
$35 - $85
Flights from Jakarta to Batam via Jambi
Ave. Duration
2 h 40 min
When
Every day
Estimated price
$35 - $85
Flights from Jakarta to Batam via Palembang
Ave. Duration
3 h 10 min
When
Every day
Estimated price
$35 - $85
Flights from Bandung to Batam
Ave. Duration
1 h 45 min
When
Every day
Estimated price
$60 - $190
Flights from Jakarta to Singapore
Ave. Duration
1 h 44 min
When
Every day
Estimated price
$40 - $270
Singapore Airlines
Website
singaporeair.com
Flights from Jakarta to Singapore
Ave. Duration
1 h 49 min
When
Every day
Estimated price
$160 - $900
Citilink Indonesia
Website
Flights from Jakarta to Batam
Ave. Duration
1 h 41 min
When
Every day
Estimated price
$35 - $95
Flights from Jakarta to Batam via Palembang
Ave. Duration
3 h 35 min
When
Every day
Estimated price
$35 - $95
Flights from Bandung to Batam via Pekanbaru
Ave. Duration
4 h 5 min
When
Every day
Estimated price
$80 - $280
Batik Air
Website
batikair.com
Flights from Jakarta to Batam
Ave. Duration
1 h 45 min
When
Every day
Estimated price
$45 - $140
Flights from Jakarta Halim Perdana Kusuma to Batam
Ave. Duration
1 h 45 min
When
Every day
Estimated price
$45 - $110
Flights from Jakarta to Singapore
Ave. Duration
1 h 48 min
When
Every day
Estimated price
$65 - $310
Jetstar Asia Airways
Website
jetstar.com
Flights from Jakarta to Singapore
Ave. Duration
1 h 51 min
When
Every day
Estimated price
$45 - $300
Indonesia AirAsia
Website
airasia.com
Flights from Jakarta to Singapore
Ave. Duration
1 h 53 min
When
Every day
Estimated price
$45 - $300
Scoot Tigerair
Website
flyscoot.com
Flights from Jakarta to Singapore
Ave. Duration
1 h 53 min
When
Every day
Estimated price
$35 - $280
PT. Sriwijaya Air
Website
sriwijayaair.co.id
Flights from Jakarta to Batam
Ave. Duration
1 h 35 min
When
Every day
Estimated price
$40 - $110
Flights from Jakarta to Batam via Jambi
Ave. Duration
2 h 35 min
When
Every day
Estimated price
$40 - $110
NAM Air
Website
sriwijayaair.co.id
Flights from Jakarta to Batam via Jambi
Ave. Duration
2 h 30 min
When
Every day
Estimated price
$55 - $160
AirAsia
Website
airasia.com
Flights from Jakarta to Singapore via Kuala Lumpur
Ave. Duration
4 h 10 min
When
Every day
Estimated price
$30 - $260
Train operators
Kereta API
Phone
021-121
Website
tiket.kereta-api.co.id
Train from Jakarta Gambir to Bandung
Ave. Duration
3 h 2 min
Frequency
Every 3 hours
Estimated price
$1 - $9
Website
kai.id
Book at
tiket.com
Economy
$1 - $9
Business
$4 - $9
Executive
$7 - $14
SMRT
Phone
+1 800-336-8900
Website
smrt.com.sg
Subway from Tanah Merah to Outram Park
Ave. Duration
25 min
Frequency
Every 5 minutes
Estimated price
$1 - $2
Schedules at
smrt.com.sg
Ferry operators
Batam Fast Ferries
Website
batamfast.com
Ferry from Harbourfront Centre to Batam Centre
Ave. Duration
45 min
Frequency
Hourly
Estimated price
$15 - $19
Schedules at
batamfast.com
Majestic Fast Ferry
Website
majesticfastferry.com.sg
Ferry from Harbour Front to Batam Centre
Ave. Duration
1 h
Frequency
Hourly
Estimated price
$19
Schedules at
majesticfastferry.com.sg
Ferry from Tanah Merah to Batam Centre
Ave. Duration
45 min
Frequency
4 times a day
Estimated price
$19
Schedules at
majesticfastferry.com.sg
Pelni
Website
pelni.co.id
Car ferry from Tanjung Priok to Kijang
Ave. Duration
2 days 16 h
Frequency
Once a week
Estimated price
$35 - $60
Schedules at
pelni.co.id
Sindo Ferry
Phone
+65 6331 4123
Email
booking@sindoferry.com.sg
Website
sindoferry.com.sg
Ferry from Tanjung Pinang to Tanah Merah
Ave. Duration
50 min
Frequency
4 times a day
Estimated price
$22
Schedules at
sindoferry.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 Travelling Croatia’s Dalmatian Coast by boat, bus, car and train, How to get from Florence to Rome and Italy Travel Guides - to help you get the most out of your next trip.