Flights from Johannesburg to Cape Town – Direct & connecting routes
Non-stop airlines Connecting flights Show map Price search
JNB to CPT – All flight route options from Johannesburg International, South Africa to Cape Town 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 and 10 minutes. 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 Cape Town
We got great deals on hotels and car rentals near the airport.
Johannesburg to Cape Town flights
There are over 16 airlines and as many as 460 flights every week to this destination. You can fly non-stop to Cape Town (CPT) from Johannesburg (JNB) 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 Bloemfontein, Kimberley or any other of the 10 alternatives with connectiing airports.
Tip! You can also fly to Cape Town from Lanseria (HLA).
Johannesburg to Cape Town with Safair
You can fly non-stop every weekday with flights departing from 5:00 am to 8:00 pm. You can also catch a transit flight via East London or George.
With Airlink (South Africa)
You can fly non-stop every weekday with flights departing between 7:00 am and 8:00 pm. You can also catch a transit flight via Bloemfontein or Kimberley.
Distance & flight times: Johannesburg International to Cape Town International
The shortest flight time between JNB and CPT is 2 hours and 20 minutes.
Via | Total flight time | Layover time | Distance |
---|---|---|---|
Direct | 2h 20m | - | 794 miles (1278 km) |
BFN Bloemfontein | 3h 30m | 40m | 805 miles (1295 km) |
KIM Kimberley | 3h 30m | 50m | 794 miles (1278 km) |
SZK Skukuza | 4h 30m | 40m | 1226 miles (1973 km) |
ELS East London | 4h 55m | 1h 40m | 1018 miles (1638 km) |
DUR Durban | 5h 10m | 1h 20m | 1096 miles (1763 km) |
UTN Upington | 5h 25m | 2h 35m | 875 miles (1408 km) |
PLZ Port Elizabeth | 5h 55m | 2h 45m | 970 miles (1561 km) |
HDS Hoedspruit | 5h 55m | 2h 30m | 1212 miles (1950 km) |
GRJ George | 5h 55m | 3h 0m | 866 miles (1393 km) |
MQP Nelspruit | 6h 0m | 40m | 1145 miles (1842 km) |

