Cheap flights from Johannesburg to Bali

Know your dates, get live prices in seconds:

From
To
Depart
Return
Any month
Compare vs Cheapflights |
From
To
Leaving on
Depart
Time
Anytime
From
To
Leaving on
Depart
Time
Anytime
From
To
Leaving on
Depart
Time
Anytime
From
To
Leaving on
Depart
Time
Anytime
From
To
Leaving on
Depart
Time
Anytime
From
To
Leaving on
Depart
Time
Anytime

We work with more than 300 partners to bring you better travel deals

Return
Economy
Tue 2/2
Tue 2/9
From
#smartAirportField( "origin${leg}", $options['origin'], $options['originCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "origin$leg", "origincode$leg" ) #nearbyAirportField("nearbyOriginCheck$leg", $nearbyO, false "$!options['origin']")
To
#smartAirportField( "destination${leg}", $options['destination'], $options['destinationCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "destination${leg}", "destinationcode${leg}" ) #nearbyAirportField("nearbyDestinationCheck${leg}", $nearbyD, false, "$!options['destination']")
Leaving on
Tue 2/2
Time
Anytime
From
#smartAirportField( "origin${leg}", $options['origin'], $options['originCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "origin$leg", "origincode$leg" ) #nearbyAirportField("nearbyOriginCheck$leg", $nearbyO, false "$!options['origin']")
To
#smartAirportField( "destination${leg}", $options['destination'], $options['destinationCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "destination${leg}", "destinationcode${leg}" ) #nearbyAirportField("nearbyDestinationCheck${leg}", $nearbyD, false, "$!options['destination']")
Leaving on
Depart
Time
Anytime
#removeLegButton($self.id("removeLeg$leg"))
From
#smartAirportField( "origin${leg}", $options['origin'], $options['originCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "origin$leg", "origincode$leg" ) #nearbyAirportField("nearbyOriginCheck$leg", $nearbyO, false "$!options['origin']")
To
#smartAirportField( "destination${leg}", $options['destination'], $options['destinationCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "destination${leg}", "destinationcode${leg}" ) #nearbyAirportField("nearbyDestinationCheck${leg}", $nearbyD, false, "$!options['destination']")
Leaving on
Depart
Time
Anytime
#removeLegButton($self.id("removeLeg$leg"))
From
#smartAirportField( "origin${leg}", $options['origin'], $options['originCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "origin$leg", "origincode$leg" ) #nearbyAirportField("nearbyOriginCheck$leg", $nearbyO, false "$!options['origin']")
To
#smartAirportField( "destination${leg}", $options['destination'], $options['destinationCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "destination${leg}", "destinationcode${leg}" ) #nearbyAirportField("nearbyDestinationCheck${leg}", $nearbyD, false, "$!options['destination']")
Leaving on
Depart
Time
Anytime
#removeLegButton($self.id("removeLeg$leg"))
From
#smartAirportField( "origin${leg}", $options['origin'], $options['originCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "origin$leg", "origincode$leg" ) #nearbyAirportField("nearbyOriginCheck$leg", $nearbyO, false "$!options['origin']")
To
#smartAirportField( "destination${leg}", $options['destination'], $options['destinationCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "destination${leg}", "destinationcode${leg}" ) #nearbyAirportField("nearbyDestinationCheck${leg}", $nearbyD, false, "$!options['destination']")
Leaving on
Depart
Time
Anytime
#removeLegButton($self.id("removeLeg$leg"))
From
#smartAirportField( "origin${leg}", $options['origin'], $options['originCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "origin$leg", "origincode$leg" ) #nearbyAirportField("nearbyOriginCheck$leg", $nearbyO, false "$!options['origin']")
To
#smartAirportField( "destination${leg}", $options['destination'], $options['destinationCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "destination${leg}", "destinationcode${leg}" ) #nearbyAirportField("nearbyDestinationCheck${leg}", $nearbyD, false, "$!options['destination']")
Leaving on
Depart
Time
Anytime
#removeLegButton($self.id("removeLeg$leg"))
#infantInLapWarning('multiRightOfTravelers')

How to find the cheapest flight from
Johannesburg (JNB) to Bali

How far in advance should I book a flight from Johannesburg to Bali?

To save up to 6% on this flight, we recommend booking at least 61 days prior to travel. The price may fluctuate and will likely increase closer to your departure date. Users on Cheapflights have found tickets from Johannesburg to Bali from R11 290 1-2 weeks out and tickets from R11 290 for flights departing within the next 72 hours.

What is the cheapest month to fly from Johannesburg to Bali?

Due to multiple factors, expect to potentially pay more when booking in December. For low rates, November can be a great choice for travel to Bali. Flights to Bali from Johannesburg in November are about R10 225 on average during November, but can be found for as low as R8 179.

Cheap flights from Johannesburg to Bali in January, February 2021

22 Feb - 1 Mar
R9 029pp
JNB
Johannesburg OR Tambo
Multiple airlines
 
1 STOP
DPS
Denpasar Bali Ngurah Rai
DPS
Denpasar Bali Ngurah Rai
Multiple Airlines
   
2 STOPS
JNB
Johannesburg OR Tambo
21 Feb - 28 Feb
R9 211pp
JNB
Johannesburg OR Tambo
Multiple airlines
 
1 STOP
DPS
Denpasar Bali Ngurah Rai
DPS
Denpasar Bali Ngurah Rai
Multiple Airlines
   
2 STOPS
JNB
Johannesburg OR Tambo
21 Feb - 27 Feb
R9 302pp
JNB
Johannesburg OR Tambo
Qatar Airways
 
1 STOP
DPS
Denpasar Bali Ngurah Rai
DPS
Denpasar Bali Ngurah Rai
Qatar Airways
 
1 STOP
JNB
Johannesburg OR Tambo

Johannesburg to Bali 2021 flight deals

22 Feb - 1 Mar
R9 029pp
JNB
Johannesburg OR Tambo
Multiple airlines
 
1 STOP
DPS
Denpasar Bali Ngurah Rai
DPS
Denpasar Bali Ngurah Rai
Multiple Airlines
   
2 STOPS
JNB
Johannesburg OR Tambo
21 Feb - 28 Feb
R9 211pp
JNB
Johannesburg OR Tambo
Multiple airlines
 
1 STOP
DPS
Denpasar Bali Ngurah Rai
DPS
Denpasar Bali Ngurah Rai
Multiple Airlines
   
2 STOPS
JNB
Johannesburg OR Tambo
29 Dec - 3 Jan
R9 226pp
JNB
Johannesburg OR Tambo
Multiple airlines
 
1 STOP
DPS
Denpasar Bali Ngurah Rai
DPS
Denpasar Bali Ngurah Rai
Multiple Airlines
   
2 STOPS
JNB
Johannesburg OR Tambo

Last-minute flights from Johannesburg to Bali

4 Feb - 18 Feb
R11 943pp
JNB
Johannesburg OR Tambo
Multiple airlines
   
2 STOPS
DPS
Denpasar Bali Ngurah Rai
DPS
Denpasar Bali Ngurah Rai
Qatar Airways
 
1 STOP
JNB
Johannesburg OR Tambo
5 Feb - 20 Feb
R12 064pp
JNB
Johannesburg OR Tambo
Multiple airlines
   
2 STOPS
DPS
Denpasar Bali Ngurah Rai
DPS
Denpasar Bali Ngurah Rai
Qatar Airways
 
1 STOP
JNB
Johannesburg OR Tambo
5 Feb - 6 Mar
R12 686pp
JNB
Johannesburg OR Tambo
Multiple airlines
   
2 STOPS
DPS
Denpasar Bali Ngurah Rai
DPS
Denpasar Bali Ngurah Rai
Multiple Airlines
   
2 STOPS
JNB
Johannesburg OR Tambo

One-way flights to Bali from Johannesburg

3:30 - 12:30
Qatar Airways
1 stop
27h 00m
JNB - DPS
Qatar Airways
R7 573
Travelgenio
3:30 - 12:30
Qatar Airways
1 stop
27h 00m
JNB - DPS
Qatar Airways
R7 649
qatarairways.com
13:40 - 12:30
Qatar Airways
1 stop
40h 50m
JNB - DPS
Qatar Airways
R7 694
qatarairways.com

Related info for your journey

Flight FAQs

From Johannesburg to Bali

Can I find flights from Johannesburg to Bali for under R9 105 on Cheapflights?

Yes, there are multiple flights from Johannesburg to Bali for under R9 105. The cheapest flight booked recently is on Multiple Airlines for just R9 029, but on average you can expect to pay R9 879.

What safety measures are being taken by airlines flying from Johannesburg OR Tambo to Bali to control the spread of COVID-19?

Airlines globally have implemented additional safety measures to accommodate you. Etihad Airways is one of them. Some of the new policies that have been implemented to accommodate travellers flying from Johannesburg OR Tambo to Bali are improved sanitation, HEPA filters, mask requirements, socially-distanced seating (for a limited time), and pre-flight testing for antibodies and symptoms. Policies will vary by airline.

Which airlines flying from Johannesburg OR Tambo to Bali have flexible cancellations due to COVID-19?

Due to the rapidly changing circumstances due to COVID-19, airlines like Singapore Airlines, Emirates, and Qatar Airways flying from Johannesburg OR Tambo to Bali have implemented new flexible cancellation policies.

Are there direct flights from Johannesburg to Bali for under R9 105 on Cheapflights?

There are no direct flights from Johannesburg to Bali, but Cheapflights can provide you with all the information you need to find the fastest route with the fewest stops.

Are there last-minute flights available from Johannesburg to Bali for under R12 140?

There are currently 15+ open flights from Johannesburg to Bali within the next 7 days for less than R12 140.

How popular is this flight route?

Flights from Johannesburg OR Tambo to Bali have been viewed 23 792 times in the past calendar month.

Is Johannesburg weather warmer or cooler than Bali?

Our data indicates that the weather will be 32 °C on average in the month of November. The temperature in Bali is typically hotter than in Johannesburg. If you're traveling when the temperature is at its warmest, push to plan early, as flight price and availability will have an impact on your travels. For the best results, search for flights well in advance or after peak season.

What are the most popular airlines that fly from Johannesburg to Bali?

The most popular airlines flying from Johannesburg to Bali are British Airways, Cathay Pacific and Emirates. Something to consider prior to booking your flight.

What are the cheapest flights from Johannesburg to Bali?

The cheapest flight price from Johannesburg to Bali is R5 693. On average you can expect to pay R17 472. The most popular route, (Johannesburg OR Tambo - Denpasar Bali Ngurah Rai), can usually be booked for R9 212.

How long does is the flight from Johannesburg to Bali?

There are many flights that can get you from Johannesburg to Bali in 19h 45m. Fly via Emirates or Qatar Airways to get the fastest option. When browsing for deals, the options you’ll see will be for both direct flights and flights with stops.

What are the cheapest airlines to flying from Johannesburg to Bali return?

According to our current data, Qatar Airways (R9 303), and Emirates (R9 849) offers the cheapest pricing from Johannesburg to Bali.

What are the cheapest airlines to fly from Johannesburg to Bali one-way?

To fly one-way, consider booking your trip with Qatar Airways, which is currently one of the cheapest options available, starting at R7 573.

Related searches

Flights to Bali from Johannesburg
Flights to Johannesburg Flights to Bali Flights from Johannesburg

Arrival points for flights from Johannesburg to Bali

Show more

Destination information for Bali

Today's exchange rate
R1 = Rp 927,64
Average temperature for January in Bali
31.0 °C
Avg rainfall for January in Bali
191.0 mm

Airports servicing Johannesburg

Airports servicing

Top 8 airlines flying from Johannesburg to Bali

Airline Cheapest Average Flexibility On-time COVID-19 safety
Emirates
R536 R715 No cancel fee 75%
Search Emirates flights
Cathay Pacific
R594 R758 No cancel fee 72%
Search Cathay Pacific flights
Qatar Airways
R516 R765 No cancel fee 68%
Search Qatar Airways flights
Singapore Airlines
R493 R778 No cancel fee 81%
Search Singapore Airlines flights
Turkish Airlines
R845 R1 346 No cancel fee 77%
Search Turkish Airlines flights
Etihad Airways
R1 123 R1 488 No cancel fee 75%
Search Etihad Airways flights
SWISS
R7 258 R8 575 No cancel fee 79%
Search SWISS flights
Lufthansa
R11 749 R13 912 No cancel fee 76%
Search Lufthansa flights
Home Asia Indonesia Bali Cheap flights from Johannesburg to Bali
  • Return
  • One-way
  • Economy
  • Premium Economy
  • Business
  • First