Cheap flights from Johannesburg to Canada

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
Sat 1/23
Sat 1/30
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
Sat 1/23
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 Canada

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

Find a great deal and save up to 14% by booking at least 61 days prior to your desired departure date, rather than waiting until the week of travel. According to our data, there are a number of flights available from Johannesburg to Canada within the next two weeks, with the cheapest ticket starting at R14 673.

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

Due to multiple factors, expect to potentially pay more when booking in December. For low rates, February can be a great choice for travel to Canada. Flights to Canada from Johannesburg in February are about R13 589 on average during February, but can be found for as low as R11 866.

Cheap flights from Johannesburg to Canada in January, February 2021

The best prices found for JNB to Canada flights in January, February
12 Feb - 3 Sep
R11 547pp
JNB
Johannesburg OR Tambo
Qatar Airways
 
1 STOP
YUL
Montreal Pierre Elliott Trudeau Intl
YUL
Montreal Pierre Elliott Trudeau Intl
Qatar Airways
 
1 STOP
JNB
Johannesburg OR Tambo
12 Feb - 3 Sep
R11 577pp
JNB
Johannesburg OR Tambo
Qatar Airways
 
1 STOP
YUL
Montreal Pierre Elliott Trudeau Intl
YUL
Montreal Pierre Elliott Trudeau Intl
Qatar Airways
 
1 STOP
JNB
Johannesburg OR Tambo
22 Jan - 6 Feb
R11 653pp
JNB
Johannesburg OR Tambo
Ethiopian Air
 
1 STOP
YYZ
Toronto Pearson Intl
YYZ
Toronto Pearson Intl
Ethiopian Air
 
1 STOP
JNB
Johannesburg OR Tambo

Johannesburg to Canada 2021 flight deals

Cheap flights to Canada from Johannesburg found for this year
11 Oct - 30 Nov
R11 077pp
JNB
Johannesburg OR Tambo
British Airways
 
1 STOP
YYZ
Toronto Pearson Intl
YYZ
Toronto Pearson Intl
British Airways
   
2 STOPS
JNB
Johannesburg OR Tambo
11 Oct - 30 Nov
R11 228pp
JNB
Johannesburg OR Tambo
Turkish Airlines
 
1 STOP
YYZ
Toronto Pearson Intl
YYZ
Toronto Pearson Intl
Turkish Airlines
 
1 STOP
JNB
Johannesburg OR Tambo
12 Feb - 3 Sep
R11 547pp
JNB
Johannesburg OR Tambo
Qatar Airways
 
1 STOP
YUL
Montreal Pierre Elliott Trudeau Intl
YUL
Montreal Pierre Elliott Trudeau Intl
Qatar Airways
 
1 STOP
JNB
Johannesburg OR Tambo

Last-minute flights from Johannesburg to Canada

Late deals on return flights to Canada from Johannesburg, departing today and this week
22 Jan - 6 Feb
R11 653pp
JNB
Johannesburg OR Tambo
Ethiopian Air
 
1 STOP
YYZ
Toronto Pearson Intl
YYZ
Toronto Pearson Intl
Ethiopian Air
 
1 STOP
JNB
Johannesburg OR Tambo
22 Jan - 6 Feb
R11 866pp
JNB
Johannesburg OR Tambo
Ethiopian Air
   
2 STOPS
YYZ
Toronto Pearson Intl
YYZ
Toronto Pearson Intl
Ethiopian Air
 
1 STOP
JNB
Johannesburg OR Tambo
22 Jan - 6 Feb
R12 366pp
JNB
Johannesburg OR Tambo
Multiple airlines
   
2 STOPS
YYZ
Toronto Pearson Intl
YYZ
Toronto Pearson Intl
Multiple Airlines
   
2 STOPS
JNB
Johannesburg OR Tambo

One-way flights to Canada from Johannesburg

The cheapest one-way flights from Johannesburg to Canada
15:30 - 14:29
Air Canada
2 stops
29h 59m
JNB - YYZ
Air Canada
R8 012
13:50 - 9:30
Emirates
1 stop
26h 40m
JNB - YYZ
Emirates
R8 376
14:30 - 12:16
Lufthansa
2 stops
28h 46m
JNB - YUL
Lufthansa
R8 391
Lufthansa

Related info for your journey

Useful info, stats and facts about Johannesburg to Canada flights.

Flight FAQs

From Johannesburg to Canada

Can I find flights from Johannesburg to Canada for under R12 139 on Cheapflights?

Yes, there are multiple flights from Johannesburg to Canada for under R12 139. The cheapest flight booked recently is on Qatar Airways for just R11 547, but on average you can expect to pay R12 139.

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

Airlines globally have implemented additional safety measures to accommodate you. Delta, Etihad Airways, and Alitalia are some of the many airlines that have done so. Airline carriers are regularly disinfecting and sanitising their aircraft. Masks are provided and are mandatory while on board. Pre-flight testing for symptoms and antibodies, alongside socially-distanced seating (for a limited time) will work towards keeping travellers safer while flying from Johannesburg OR Tambo to Canada. Policies will vary by airline.

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

Due to the rapidly changing circumstances due to COVID-19, airlines like Air Canada, KLM, and Ethiopian Air flying from Johannesburg OR Tambo to Canada have implemented new flexible cancellation policies.

Are there direct flights from Johannesburg to Canada for under R12 139 on Cheapflights?

There are no direct flights from Johannesburg to Canada, 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 Canada for under R12 139?

There are currently 8+ open flights from Johannesburg to Canada within the next 7 days for less than R12 139.

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

American Airlines, Air Canada and Air France are the most popular airlines when flying from Johannesburg to Canada.

What are the most popular routes from Johannesburg to Canada?

While some choose either Johannesburg OR Tambo - Montreal Pierre Elliott Trudeau Intl or Johannesburg OR Tambo - Calgary, Johannesburg OR Tambo - Toronto Pearson Intl is the most popular route from Johannesburg to Canada.

What are the cheapest flights from Johannesburg to Canada?

The cheapest flight price from Johannesburg to Canada is R8 192. On average you can expect to pay R27 880. The most popular route, (Johannesburg OR Tambo - Toronto Pearson Intl), can usually be booked for R11 851.

How long does is the flight from Johannesburg to Canada?

Departing from Johannesburg to Canada will take you 19h 53m. Both multi-stop and direct flights can be found to your destination and back.

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

Our cheapest airline available from Johannesburg to Canada is Qatar Airways. Our recent data shows that you can find tickets from as low as R11 548 on this airline. Additional options worth looking into are Ethiopian Air and British Airways, starting at R11 654 and R11 851 round-trip.

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

To fly one-way, consider booking your trip with Air Canada, which is currently one of the cheapest options available, starting at R8 012. Turkish Airlines flights start at R8 300 while deals on Lufthansa start at R8 316 one-way.

Related searches

Flights to Canada from Johannesburg
Flights to Johannesburg Flights to Canada Flights from Johannesburg

Arrival points for flights from Johannesburg to Canada

Destination information for Canada

Things to know before you go. Useful info for your trip from Johannesburg to Canada
Today's exchange rate
R1 = C$ 0,09

Airports servicing Johannesburg

Top 10 airlines flying from Johannesburg to Canada

The chart below displays the airlines Cheapflights users travelling from Johannesburg to Canada choose most often. Cheapest and average prices are based on aggregated data from the past 12 months.

Airline Cheapest Average Flexibility On-time COVID-19 safety
Ethiopian Air
R728 R906 No cancel fee 72%
Search Ethiopian Air flights
Alitalia
R777 R967 No cancel fee 81%
Search Alitalia flights
Air France
R830 R973 No cancel fee 77%
Search Air France flights
American Airlines
R844 R982 No cancel fee 71%
Search American Airlines flights
Cathay Pacific
R894 R1 080 No cancel fee 72%
Search Cathay Pacific flights
Lufthansa
R813 R1 095 No cancel fee 76%
Search Lufthansa flights
United Airlines
R853 R1 112 No cancel fee 69%
Search United Airlines flights
British Airways
R778 R1 122 No cancel fee 70%
Search British Airways flights
SWISS
R884 R1 147 No cancel fee 79%
Search SWISS flights
Emirates
R935 R1 154 No cancel fee 75%
Search Emirates flights
Home North America Canada Cheap flights from Johannesburg to Canada
  • Return
  • One-way
  • Economy
  • Premium Economy
  • Business
  • First