Prices are in Australian Dollars.

From
To
Thu. 13/8
Thu. 20/8
Any month
Compare vs Cheapflights |
From
To
Leaving on
Thu. 13/8
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
Thu. 13/8
Thu. 20/8
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
Thu. 13/8
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 December High demand for flights, 15% potential price rise
Cheapest in October Best time to find cheap flights, 5% potential price drop
Average price $1,307 Average for round-trip flights in August 2020
Round-trip from $1,388 From Melbourne to Johannesburg
One-way from $717 One-way flight from Melbourne 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
$1,377
February
$1,174
March
$1,193
April
$1,413
May
$1,278
June
$1,323
July
$1,293
August
$1,282
September
$1,354
October
$1,183
November
$1,208
December
$1,714
February is currently the cheapest month to fly to South Africa. At this moment in time December is the most expensive month. These prices are determined by multiple factors and booking in advance can help keep costs down if your schedule is not as flexible.

When is the best time to fly to South Africa?

Choose a month below to see average flight price and weather conditions.
MEL - JNB
Price
$1,174 - $2,250
JNB
Temperature
18 - 26 °C
JNB
Rainfall
4 - 151 mm

Peak season

The captivating southernmost country of South Africa is an exciting year-round destination offering a wide range of attractions for intrepid travellers. Whether you arrive on cheap flights to South Africa for game watching, hiking, whale watching, botanic gardens, shopping or surfing, you can rest assured you’ll never be wanting for things to do. Most flights to South Africa land in Cape Town or Johannesburg – Cape Town is the oldest but most progressive city, while Johannesburg is a base for famous wildlife reserve, Kruger National Park. Peak season for travel to South Africa is from November to March when the weather is warm and sunny, with dramatic thunderstorms and heavy rains in the afternoons. The South African main school holidays are from mid-December to mid-January, so avoid seaside resorts as they will be busy and accommodation prices jump markedly. It is best to avoid travelling to South Africa at Easter too as there is a 10 day school holiday allocated.

Off season

The winter months (June to August) are cold and wet in the inland areas, with snowfall on the mountain ranges, but for the Cape this is the ‘green season’ and nature lovers may find cheap flights to South Africa at this time. Some areas such as east coast of Kwazulu-Natal are best visited in winter when the humidity drops.

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

It depends what you want to see and do once you’ve arrived on your flights to South Africa. If game watching at Kruger National Park is your top priority then book flight tickets between May and September. If you want to surf and dive, then summer is the best time for water based activities. Spring and autumn are considered ideal for hiking when the weather is cooler. Avoid travel during periods such as school holidays, Christmas and Easter.

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 Saturday.

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

South Africa flights can be made cheaper if you choose a flight in the afternoon. Booking a flight in the evening will likely mean higher prices.

How long is the flight to South Africa?

Flights from Sydney to South Africa – 14 hours.

Flights from Melbourne to South Africa – 16 hours 35 minutes.

Flights from Brisbane to South Africa – 16 hours 40 minutes.

Flights from Perth to South Africa – 10 hours 45 minutes.

Which airlines operate flights to South Africa?

Qantas operates direct flights to South Africa from Sydney, and indirectly from Melbourne and Brisbane. Other airlines that fly from Australia to South African cities include: British Airways, Singapore Airlines, Emirates, Virgin Australia and national carrier South African Airways, which services the city of Perth from Cape Town and Johannesburg.

How to get from the airport to the city centre?

Flights land at either Johannesburg International Airport (JNB) 22km east of the city centre, or Cape Town International Airport (CPT) 20km from the city centre. Johannesburg Airport is serviced by reliable public transport options such as bus, train, taxi, and even limos, while Capetown Airport offers buses, taxis and private shuttles. There are a number of car rental desks at both airports should you require an independent means of travel.

Back to top

Home Africa Cheap flights to South Africa
  • Return
  • One-way
  • Economy
  • Premium Economy
  • Business
  • First