Direct (nonstop) flights from Johannesburg to Cape Town
7 airlines fly nonstop from Johannesburg International (JNB) to Cape Town International (CPT). It's 790 miles (1,271 km), about 2h 15m in the air. Operated by Airlink, CemAir, Safair and others.
Route data last updated: May 26, 2026
Airlines with non-stop flights
Alternative Routes
Other ways to fly from Johannesburg to Cape Town with one stop · direct emits 146 kg CO₂ per passenger
Looking for the return flight?
CPT → JNB: Flights from Cape Town to JohannesburgOther direct flights from Johannesburg
Direct flights from Cape Town (CPT)
Frequently Asked Questions
How long is the direct flight from Johannesburg to Cape Town?
A nonstop flight from Johannesburg (JNB) to Cape Town (CPT) takes approximately 2 hours and 15 minutes. The distance is 790 miles (1,271 km).
Which airlines fly nonstop from Johannesburg to Cape Town?
7 airlines: Airlink, CemAir, Safair, LIFT, South African Airways, Singapore Airlines, FlexFlight.
Is there a nonstop flight from Johannesburg to Cape Town?
Yes. 7 airlines: Airlink, CemAir, Safair, LIFT, South African Airways, Singapore Airlines, FlexFlight.
How far is Johannesburg from Cape Town?
The flight distance from Johannesburg to Cape Town is 790 miles (1,271 km), measured as the great-circle (shortest air) distance. That's roughly the same distance as London to Madrid.
What type of aircraft flies from Johannesburg to Cape Town?
At 2h 15m, this route typically uses narrow-body or mid-range jets — Boeing 737 MAX or Airbus A320neo. Varies by airline.
What is the carbon footprint of a flight from Johannesburg to Cape Town?
Roughly 146 kg CO2 per passenger one-way. That's about the same as driving 730 km.
Is the return flight from Cape Town to Johannesburg also nonstop?
Yes — nonstop flights run both ways. Flight time may differ slightly due to wind patterns.
When is the cheapest time to fly from Johannesburg to Cape Town?
Midweek flights (Tue/Wed) outside holiday peaks are usually cheapest. 3-6 weeks ahead is a good window for this route. Use "Check Prices" above to compare.
How early should I arrive at Johannesburg International for this flight?
1.5-2 hours for domestic. Add more time during holidays or busy travel weekends.