Cheap flights from Jakarta to Surabaya

Jakarta
JKT
Juanda
SUB

Flight deals from Jakarta to Surabaya

Below you can see the best deals on flights Jakarta — Surabaya for upcoming dates. Direct and connecting flights from various airlines — compare prices and choose the right ticket.

The lowest price for the next 2 months is on 16 August, from $55.

Top 10 cheap flights from Jakarta to Surabaya

JT
$ 55

Jakarta — Surabaya

09:0510:35
23 Aug 2026
1 h 30 m
Direct flight
JT
$ 55

Jakarta — Surabaya

03:3505:05
16 Aug 2026
1 h 30 m
Direct flight
JT
$ 55

Jakarta — Surabaya

09:0510:35
16 Aug 2026
1 h 30 m
Direct flight
JT
$ 58

Jakarta — Surabaya

15:0516:35
27 Aug 2026
1 h 30 m
Direct flight
JT
$ 58

Jakarta — Surabaya

03:3505:05
27 Aug 2026
1 h 30 m
Direct flight
JT
$ 58

Jakarta — Surabaya

09:0510:35
31 Aug 2026
1 h 30 m
Direct flight
JT
$ 58

Jakarta — Surabaya

03:3505:05
31 Aug 2026
1 h 30 m
Direct flight
JT
$ 58

Jakarta — Surabaya

15:0516:35
20 Aug 2026
1 h 30 m
Direct flight
JT
$ 58

Jakarta — Surabaya

09:0510:35
20 Aug 2026
1 h 30 m
Direct flight
JT
$ 58

Jakarta — Surabaya

03:3505:05
20 Aug 2026
1 h 30 m
Direct flight

Prices were found in the last 72 hours and may change — check the exact price when you continue.

About the Jakarta — Surabaya flight

Looking for cheap flights from Jakarta to Surabaya? Compare fares from different airlines, check the flight schedule and travel time — and book your Jakarta — Surabaya ticket online at the best price.

The route has direct flights — around 721 flights per week, flights are operated by Batik Air Indonesia, Citilink, Garuda, Lion Air and 1 more airline, a nonstop flight takes about 1 h 25 min, the distance between the cities is around 666 km.

Planning your trip? You may find our Surabaya travel guide, how to get from the airport into town and Surabaya weather forecast useful. To catch a low fare, use the low-price calendar and the monthly price chart on this page.

Facts about this route

from $55Min. price
AugustCheapest
JulyPeak season
YesDirect flights
666 kmDistance
1 h 25 minTravel time
5Airlines
721 / wkFlights

Flight schedule from Jakarta to Surabaya

The table shows direct flights from Jakarta to Surabaya on the selected date. The flight takes approximately 1 h 25 min. Regular flights are operated by Batik Air Indonesia, Citilink, Garuda and Lion Air. Departures from Soekarno-Hatta International Airport and Halim Perdanakusuma Airport airports, arrivals at Juanda International Airport.

For each flight, the following details are shown: departure time (local), arrival city and airport, flight number and airline, terminal or gate, and status. Click on a flight to open its details and go to ticket search. To view flights on a different day, change the date above the table.

Today
Any time
Last update: 14 Aug 2026

Flight ticket prices by day: Jakarta — Surabaya

Below is a calendar of the lowest flight ticket prices for Jakarta — Surabaya by day. Pick a convenient date and instantly see the fare. The cheapest flights on this route start from $55 in August, and the most expensive are around $103 in July. If your travel dates are flexible, the calendar will help you find the best price for your preferred period. To view round-trip fares, switch to the "Round trip" tab above the calendar, select your departure date — and the right-hand calendar will highlight the lowest prices for return flights on each day.

 
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--

Prices by month

Average one-way fares from Jakarta to Surabaya by month. Tickets are usually cheapest in February (around $42) and priciest in June (about $56) — use the table and chart below to pick the best time to fly.

MonthAverage priceLevelMonthAverage priceLevelMonthAverage priceLevel
Jan$48mediumMay$53highSep$47medium
Feb$42lowJun$56highOct$45low
Mar$44lowJul$54highNov$44low
Apr$52highAug$50mediumDec$53high

Some values are estimated based on seasonality.

When to fly

Weather in Surabaya: it is warmest in October (up to 33 °C on average) and coolest in February (around 30 °C). The driest month is August.

Tickets are usually cheapest in August and most expensive in July. Compare prices and weather by month in the charts below to pick the best time to fly.

Temperature · Surabaya

Dry and wet days · Surabaya

Wind speed and direction · Surabaya

We'll let you know if you need a visa

Enter your destination or
Your nationality
Destination

How to get the best deal on a Jakarta — Surabaya ticket

  • Book ahead: fares for Jakarta — Surabaya are usually lower 3–8 weeks before departure than at the last minute.
  • Play with your dates — Tuesday, Wednesday and Saturday departures are often cheaper than Friday and Sunday.
  • Jakarta is served by more than one airport — compare fares and travel time to each before you book.
  • The cheapest month to fly to Surabaya is usually August — plan your trip around it if your dates are flexible.
  • Compare direct and connecting flights: nonstop is faster, while a connection is sometimes noticeably cheaper.
  • Watch the low-price calendar and the monthly price trend on this page — they make it easier to catch a good date.
  • Travelling light? Pick a cabin-baggage-only fare — tickets without checked luggage are noticeably cheaper.
  • Get to the airport in good time — about 2–3 hours before an international departure and roughly an hour before a domestic one.

Airlines

Flights on the Jakarta — Surabaya route are operated by 5 airlines; Batik Air Indonesia runs the most flights (around 36% of all flights). Compare carriers, flight shares and schedules below.

  • Batik Air IndonesiaID
    87x/week
    WebsiteFleet: 7012M pax/year
    • Direct flight CGK → SUB54x/week
      Duration
      1h 29m
      Days
      MTWTFSS
    • Direct flight HLP → SUB33x/week
      Duration
      1h 25m
      Days
      MTWTFSS
  • CitilinkQG
    58x/week
    WebsiteFleet: 6011.7M pax/year
    • Direct flight CGK → SUB47x/week
      Duration
      1h 37m
      Days
      MTWTFSS
    • Direct flight HLP → SUB11x/week
      Duration
      1h 30m
      Days
      MTWTFSS
  • GarudaGA
    43x/week
    WebsiteFleet: 8019M pax/year
    • Direct flight CGK → SUB38x/week
      Duration
      1h 39m
      Days
      MTWTFSS
    • Direct flight HLP → SUB5x/week
      Duration
      1h 30m
      Days
      MTWTFSS
  • Lion AirJT
    30x/week
    WebsiteFleet: 9935M pax/year
    • Direct flight CGK → SUB30x/week
      Duration
      1h 29m
      Days
      MTWTFSS
  • Pelita AirIP
    23x/week
    WebsiteFleet: 122.7M pax/year
    • Direct flight CGK → SUB23x/week
      Duration
      1h 34m
      Days
      MTWTFSS

Cities and airports on the Jakarta — Surabaya route

Flights Jakarta — Surabaya depart from Soekarno-Hatta International Airport and Halim Perdanakusuma Airport and arrive at Juanda International Airport. Below are pages for the cities, countries, and airports on the route: airlines, schedules, and travel guides.

Departure airports
Arrival airports

Interesting articles about Surabaya

Tips for Travelers

How to best get around Indonesia?

Friends, we are very happy when you share your travel experiences with us and give useful tips that will be helpful to those who are just about to go somewhere you have already been. For each of your…

Ascent to Ijen Volcano. Java Island.Tips for Travelers

Ascent to Ijen Volcano. Java Island.

Continuation of Nikita’s story about his trip to Indonesia. “Ijen is a very popular tourist destination, that very volcano with blue lava, unique in its kind. Ijen is located on Java, which was my des…

Best Areas in Bali for Choosing a HotelWhere to go

Best Areas in Bali for Choosing a Hotel

It’s time to plan your winter escape to Bali ! If you’re a lucky remote worker, have a vacation at the end of December that can be combined with January holidays, or simply want to go to the sea in wi…

Bali Vacation: A Detailed Island GuideTravel Ideas

Bali Vacation: A Detailed Island Guide

At first glance, a vacation in Bali might seem to be all about white-sand beaches, parties until dawn, and delicious cocktails. However, you can immerse yourself not only in the Pacific Ocean but also…

Major Megacities of Southeast AsiaWhere to go

Major Megacities of Southeast Asia

Southeast Asia is not just endless beaches and secluded bungalows. It is, first and foremost, bustling, chaotic, incredibly vibrant, and energy-breathing megacities. These are places where the aroma o…

The World’s Largest CitiesInteresting

The World’s Largest Cities

If you prefer non-stop action to quiet solitude somewhere by the sea or in the mountains—this article is for you. We’ve already told you about the oldest cities in the world, and now it’s time to delv…

Frequently asked questions about the Jakarta — Surabaya flight

How long is the flight from Jakarta to Surabaya?

A nonstop Jakarta — Surabaya flight takes about 1 h 25 min — the distance between the cities is around 666 km.

How far is it from Jakarta to Surabaya?

The distance from Jakarta to Surabaya is about 666 km, which a nonstop flight covers in around 1 h 25 min.

Are there direct flights from Jakarta to Surabaya?

Yes, there are nonstop flights Jakarta — Surabaya — around 721 flights per week.

Which airlines fly from Jakarta to Surabaya?

Airlines operating Jakarta — Surabaya include Batik Air Indonesia, Citilink, Garuda, Lion Air, Pelita Air. See the full list with schedules in the "Airlines" section on this page.

Which airports do Jakarta — Surabaya flights use?

Flights from Jakarta depart from Soekarno-Hatta International Airport, Halim Perdanakusuma Airport, and arrive at Juanda International Airport. If a city has more than one airport, check which one your ticket uses before you travel.

How much is a ticket from Jakarta to Surabaya?

The price of a Jakarta — Surabaya ticket depends on your travel date, season and demand: it is usually cheapest to fly in August, and most expensive in July. Tickets typically cost between $55 and $103. Check the current lowest fare and low-price calendar on this page.

When is the best time to book flights Jakarta — Surabaya?

Flights Jakarta — Surabaya are usually cheaper when booked in advance — a few weeks before departure and away from peak dates; the most budget-friendly month to fly is August. Compare prices by month in the price trend chart on this page.

How can I find the cheapest flights from Jakarta to Surabaya?

To catch a low fare Jakarta — Surabaya, book a few weeks in advance, keep your dates flexible, and compare airlines and connecting options. The low-price calendar and monthly price chart on this page show the cheapest days and months at a glance: the most budget-friendly month to fly is usually August.

How early should I arrive at the airport?

For international flights, plan to be at the airport about 2–3 hours before departure, and around an hour before a domestic flight. Allow extra time during busy travel seasons and at large hubs, where check-in and security lines can be longer.

Where else you can fly from Jakarta

See all

Where else you can fly from Surabaya

See all

We use cookies and services to collect user information. This is essential for the functioning of the site and for marketing purposes. You can find out more in .