There are 9 ways to get from Jakarta to Gresik by plane, train, taxi, car ferry, bus or car

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 Halim Perdana Kusuma to Surabaya  •  4 h 25 min

  1. Fly from Jakarta Halim Perdana Kusuma (HLP) to Surabaya (SUB) HLP - SUB

$40 - $135

Cheapest option

Train  •  9 h 15 min

  1. Take the train from Gambir Central to Surabaya Pasar Turi Argo Bromo Anggrek 2 / ...

$12 - $42

7 alternative options

Fly Jakarta to Surabaya  •  4 h 45 min

  1. Fly from Jakarta (CGK) to Surabaya (SUB) CGK - SUB

$35 - $106

Fly Jakarta to Malang, train, taxi  •  6 h 46 min

  1. Fly from Jakarta (CGK) to Malang (MLG) CGK - MLG
  2. Take the train from Lawang to Gubeng
  3. Take a taxi from Gubeng to Gresik

$54 - $179

Train to Bandung, fly to Surabaya  •  6 h 41 min

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

$41 - $234

Fly Jakarta Halim Perdana Kusuma to Malang, train  •  6 h 36 min

  1. Fly from Jakarta Halim Perdana Kusuma (HLP) to Malang (MLG) HLP - MLG
  2. Take the train from Lawang to Gubeng

$68 - $198

Car ferry  •  24 h 21 min

  1. Take the car ferry from Tanjung Priok to Surabaya KM Ciremai / ...

$38 - $61

Bus  •  25 h 41 min

  1. Take the bus from Cililitan to Surabaya Bungurasih Station

$24 - $30

Drive  •  9 h 42 min

  1. Drive from Jakarta to Gresik 460.5 miles

$40 - $60

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

Batik Air and Citilink Indonesia fly from Jakarta to Gresik every 2 hours. Alternatively, Kereta API operates a train from Jakarta to Gresik 3 times a day. Tickets cost $7 - $35 and the journey takes 9 h.

Airlines
Batik Air
Website
batikair.com
Flights from Jakarta Halim Perdana Kusuma to Surabaya
Ave. Duration
1 h 27 min
When
Every day
Estimated price
$50 - $130
Flights from Jakarta to Surabaya
Ave. Duration
1 h 30 min
When
Every day
Estimated price
$45 - $140
Flights from Jakarta Halim Perdana Kusuma to Malang
Ave. Duration
1 h 30 min
When
Every day
Estimated price
$50 - $220
Garuda Indonesia
Website
garuda-indonesia.com
Flights from Jakarta to Surabaya
Ave. Duration
1 h 36 min
When
Every day
Estimated price
$55 - $160
Flights from Jakarta to Malang
Ave. Duration
1 h 45 min
When
Every day
Estimated price
$60 - $230
Flights from Bandung to Surabaya
Ave. Duration
1 h 30 min
When
Every day
Estimated price
$75 - $460
Lion Mentari Airlines
Website
lionair.co.id
Flights from Jakarta to Surabaya
Ave. Duration
1 h 29 min
When
Every day
Estimated price
$29 - $100
Flights from Jakarta to Malang
Ave. Duration
1 h 27 min
When
Every day
Estimated price
$45 - $160
Flights from Bandung to Surabaya
Ave. Duration
1 h 11 min
When
Every day
Estimated price
$55 - $220
Citilink Indonesia
Website
Flights from Jakarta Halim Perdana Kusuma to Surabaya
Ave. Duration
1 h 25 min
When
Every day
Estimated price
$40 - $150
Flights from Jakarta to Surabaya
Ave. Duration
1 h 32 min
When
Every day
Estimated price
$30 - $100
Flights from Jakarta to Malang
Ave. Duration
1 h 35 min
When
Every day
Estimated price
$50 - $190
Flights from Bandung to Surabaya
Ave. Duration
1 h 30 min
When
Every day
Estimated price
$55 - $290
Flights from Jakarta Halim Perdana Kusuma to Malang
Ave. Duration
1 h 35 min
When
Every day
Estimated price
$45 - $170
PT. Sriwijaya Air
Website
sriwijayaair.co.id
Flights from Jakarta to Surabaya
Ave. Duration
1 h 15 min
When
Every day
Estimated price
$30 - $110
Flights from Jakarta to Surabaya via Bandar Lampung
Ave. Duration
3 h 5 min
When
Monday, Wednesday, Friday and Sunday
Estimated price
$30 - $110
Flights from Jakarta to Malang
Ave. Duration
1 h 30 min
When
Every day
Estimated price
$35 - $170
Indonesia AirAsia Extra, PT
Website
airasia.com
Flights from Jakarta to Surabaya
Ave. Duration
1 h 31 min
When
Every day
Estimated price
$45 - $320
NAM Air
Website
sriwijayaair.co.id
Flights from Bandung to Surabaya
Ave. Duration
1 h 17 min
When
Every day
Estimated price
$55 - $370
Train operators
Kereta API
Phone
021-121
Website
tiket.kereta-api.co.id
Train from Lawang to Gubeng
Ave. Duration
1 h 32 min
Frequency
Twice daily
Estimated price
$1 - $7
Website
kai.id
Book at
tiket.com
Economy
$1 - $7
Business
$2 - $6
Executive
$4 - $11
Train from Jakarta Gambir to Bandung
Ave. Duration
3 h 2 min
Frequency
Every 3 hours
Estimated price
$2 - $10
Website
kai.id
Book at
tiket.com
Economy
$2 - $10
Business
$5 - $9
Executive
$7 - $14
Train from Gambir Central to Surabaya Pasar Turi
Ave. Duration
9 h
Frequency
3 times a day
Estimated price
$7 - $35
Website
kai.id
Book at
tiket.com
Economy
$7 - $21
Business
$20 - $27
Executive
$26 - $40
Bus operators
Kramat Djati
Website
kramatdjati.co.id
Bus from Cililitan to Surabaya Bungurasih Station
Ave. Duration
22 h 30 min
Frequency
Once daily
Estimated price
$14 - $20
Schedules at
kramatdjati.co.id
Book at
easybook.com
Ferry operators
Pelni
Website
pelni.co.id
Car ferry from Tanjung Priok to Surabaya
Ave. Duration
21 h 56 min
Frequency
Twice a week
Estimated price
$30 - $50
Schedules at
pelni.co.id
Other operators
Taxi from Gubeng to Gresik
Ave. Duration
18 min
Estimated price
$7 - $9
Blue Bird Group
Phone
+62 313 721234
Website
bluebirdgroup.com

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 to Rome from the airport, Best ways to travel around Australia and Italian Lakes: Getting around by train - to help you get the most out of your next trip.

Questions & Answers

How far is it from Jakarta to Gresik?

The distance between Jakarta and Gresik is 650 km. The road distance is 737 km.

What is the cheapest way to get from Jakarta to Gresik?

The cheapest way to get from Jakarta to Gresik is to bus which costs Rp320000 - Rp420000 and takes 25 h 41 min.

What is the fastest way to get from Jakarta to Gresik?

The quickest way to get from Jakarta to Gresik is to fly which takes 4 h 25 min and costs Rp550000 - Rp1900000.

How long does it take to get from Jakarta to Gresik?

It takes approximately 4 h 25 min to get from Jakarta to Gresik, including transfers.