Flights from Cape Town to Johannesburg – Direct & connecting routes
Non-stop airlines Connecting flights Show map Price search
CPT to JNB – All flight route options from Cape Town International, South Africa to Johannesburg International, South Africa. These flights are operated by 6 different airlines. Fly non-stop or choose from 10 different connecting flights. The shortest flight time is 2 hours. See the full flight schedule and time table, including departure times, airlines and stopover details to find the best option for you.
Find the best prices on hotels and car rental near Johannesburg
We got great deals on hotels and car rentals near the airport.
Cape Town to Johannesburg flights
There are over 16 airlines and as many as 430 flights every week to this destination. You can fly non-stop to Johannesburg (JNB) from Cape Town (CPT) with Safair, South African Airways, Singapore Airlines, CemAir, Airlink (South Africa) or Global Aviation but if a stopover option suits you better you can choose to fly via Kimberley, Upington or any other of the 10 alternatives with connectiing airports.
Tip! You might want to consider arriving at Lanseria (HLA) instead.
Cape Town to Johannesburg with Safair
You can fly non-stop every weekday with flights departing from 5:00 am to 9:00 pm. You can also catch a transit flight via Bloemfontein or East London.
With Global Aviation
You can fly non-stop every weekday with flights departing from 6:00 am to 7:00 pm. You also have the option to do a transit flight via Durban.
Distance & flight times: Cape Town International to Johannesburg International
The shortest flight time between CPT and JNB is 2 hours and 5 minutes.
Via | Total flight time | Layover time | Distance |
---|---|---|---|
Direct | 2h 5m | - | 794 miles (1278 km) |
KIM Kimberley | 3h 20m | 50m | 794 miles (1278 km) |
UTN Upington | 3h 45m | 1h 10m | 875 miles (1408 km) |
HDS Hoedspruit | 4h 35m | 40m | 1212 miles (1950 km) |
ELS East London | 4h 45m | 1h 50m | 1018 miles (1638 km) |
BFN Bloemfontein | 4h 45m | 2h 35m | 805 miles (1295 km) |
GRJ George | 4h 55m | 30m | 866 miles (1393 km) |
SZK Skukuza | 5h 10m | 1h 40m | 1226 miles (1973 km) |
PLZ Port Elizabeth | 5h 35m | 2h 15m | 970 miles (1561 km) |
MQP Nelspruit | 5h 35m | 2h 20m | 1145 miles (1842 km) |
DUR Durban | 6h 10m | 1h 10m | 1096 miles (1763 km) |

