From
To
Mon 12/7
Mon 12/14
Any month
Compare vs Cheapflights |
From
To
Leaving on
Mon 12/7
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
Mon 12/7
Mon 12/14
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
Mon 12/7
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')
Home Africa Cheap flights to South Africa

Cheap Flights to South Africa

Popular in September High demand for flights, 2% potential price rise
Cheapest in May Best time to find cheap flights, 2% potential price drop
Average price R1 812 Average for round-trip flights in November 2020
Round-trip from R1 294 From Cape Town to Johannesburg
One-way from R213 One-way flight from Cape Town to Johannesburg
Flight route prices based on searches on Cheapflights within the last 3 days, monthly prices based on aggregated historical data.

Cheapest prices for South Africa flights by month

January
R1 415
February
R1 566
March
R1 685
April
R1 676
May
R1 280
June
R1 394
July
R1 501
August
R1 474
September
R1 478
October
R1 477
November
R1 463
December
R1 640
Currently, May is the cheapest month in which you can book a flight to South Africa. Flying to South Africa in March will prove the most costly. There are multiple factors that influence the price of a flight so comparing airlines, departure airports and times can help keep costs down.

When is the best time to fly to South Africa?

Choose a month below to see average flight price and weather conditions.
CPT - JNB
Price
R1 280 - R2 245
JNB
Temperature
18 - 26 °C
JNB
Rainfall
4 - 151 mm
May is typically the best time to fly to South Africa, but there are other times where great deals are available. If you are looking for warm weather when you arrive off of your flight to South Africa then January is statistically the hottest. December is historically the period with most rainfall.

When is the best time to book a flight to South Africa?

Booking 24 days in advance of your planned departure date is, on average, the best time to get cheap flights to South Africa. The general trend is that the closer you book to the departure date, the more expensive your flight will be.

Which day is cheapest to fly to South Africa?

The cheapest flights to South Africa are usually found when departing on a Thursday. The departure day with the highest cost at present is Sunday.

What time of day is cheapest to fly to South Africa?

To get the best value, try booking a flight in the evening when visiting South Africa. Generally the prices will increase for flights in the morning as these tend to have higher demand.

When is the best time to fly?

Peak season 

November through to February is the busiest season as many tourists flock to the country from all over the world while locals escape to their nearest beach destinations. The country also benefits from having multiple festivals scattered all over so you should research if there are any special events going on as this will increase the price of your flights. 

Off season 

The low season usually runs from April to September. It’s also the best season to venture into wildlife parks as many of the animals are a lot easier to spot and they tend to drink at the waterholes. If you’re not a fan of cold weather then it is worth avoiding June and August as it can get rather chilly during both the morning and night. Travelling during the off season means you are more likely to find great deals on flights.

When is the best time to book your flights?

This varies but as a rule of thumb it’s recommended to secure your flights anywhere within South Africa at least two months in advance but aim for even earlier if you can. For spotting game then the low season of April to September is definitely the best time to book.

How long are flights within South Africa?

Flights from Johannesburg to Cape Town – 2 hours 05 minutes.

Flights from Durban to Johannesburg – 1 hours 10 minutes.

Flights from Durban to Cape Town – 2 hours 15 minutes.

Flights from Cape Town to Port Elizabeth – 1 hours 20 minutes.

Which airlines operate flights?

The main airlines for domestic flights are South African Airlines, Mango, Kulula and CemAir, Safair and British Airways. All of them are reliable airlines so ultimately it will come down to who provides you with the cheapest price. If you are a member of a loyalty scheme with any of them then it is worth flying with that particular airline to continue to build up your points, or better yet redeem any points you already have.

How to get from the airport to the city centre?

Johannesburg: 

You can get into the city by using the Reya Vaya. It’s a safe, affordable and reliable bus that is dedicated for transporting passengers from the airport to the city. It isn’t the only bus available however the others that you can catch from the airport are less reliable. The only other option you have is to get a taxi from outside of arrivals. Expect to haggle with the driver over the price and don’t expect to travel cheaply in one, especially when compared with the bus alternatives that are on offer. Make sure you agree on the fare before you get in. There is also a new rail link which operates between the suburbs and the airport. 

Cape Town: 

You can easily get to the city centre with the MyCiti bus. It’s probably the most cost efficient way of travelling from the airport and it runs every 20 minutes. The MyCiti bus is also more reliable than the alternative buses that are available. You could also choose to jump into a taxi although these are a lot more expensive in comparison. You can find them from outside of the airport and generally start at around R300.

Back to top

Alternative, similarly priced destinations

Select your preferred route from the list below
Home Africa Cheap flights to South Africa
  • Return
  • One-way
  • Economy
  • Premium Economy
  • Business
  • First