There are 6 ways to get from Cape Town to Johannesburg by plane, bus (Greyhound), car train, car, train, or bus
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly to Johannesburg International Airport
best- Fly from Cape Town International Airport (CPT) to Johannesburg International Airport (JNB)plane CPT - JNB
2h 35mR 1,559–3,159Bus
cheapest- Take the bus from Cape Town Stn to Park Stationbus
16h 20mR 420–1,200Car train
- Take the cartrain from Cape Town to Park Stationcartrain
41h 20mR 430–720Drive 1,397.4 km
- Drive from Cape Town to Johannesburgcar 1,397.4 km
13h 30mR 3,123–4,511Fly to Lanseria International Airport, train
- Fly from Cape Town International Airport (CPT) to Lanseria International Airport (HLA)plane CPT - HLA
- Take the train from Pretoria to Parktrain
4h 32mR 2,006–4,054Bus, train
- Take the bus from Old Marine Dr to Paul Kruger & Scheiding Stbus
- Take the train from Pretoria to Parktrain North-South
21h 55mR 715–1,357
Cape Town to Johannesburg by bus
Questions & Answers
The cheapest way to get from Cape Town to Johannesburg is to car train which costs R 430 - R 750 and takes 41h 20m.
The fastest way to get from Cape Town to Johannesburg is to fly which takes 2h 35m and costs R 1 500 - R 3 200.
Yes, there is a direct bus departing from Cape Town Stn and arriving at Park Station station. Services depart every four hours, and operate every day. The journey takes approximately 16h 20m.
Yes, there is a direct train departing from Cape Town and arriving at Park Station station. Services depart once a week, and operate Sunday. The journey takes approximately 41h 20m.
The distance between Cape Town and Johannesburg is 1312 km. The road distance is 1397.4 km.
The best way to get from Cape Town to Johannesburg without a car is to bus which takes 16h 20m and costs R 420 - R 1 200.
It takes approximately 2h 35m to get from Cape Town to Johannesburg, including transfers.
Cape Town to Johannesburg bus services, operated by Eagle Liner, depart from Cape Town Stn station.
Cape Town to Johannesburg train services, operated by Shosholoza Meyl, depart from Cape Town station.
The best way to get from Cape Town to Johannesburg is to fly which takes 2h 35m and costs R 1 500 - R 3 200. Alternatively, you can bus, which costs R 420 - R 1 200 and takes 16h 20m.
What companies run services between Cape Town, South Africa and Johannesburg, South Africa?
South African Airways, Safair, and five other airlines fly from Cape Town International Airport (CPT) to Johannesburg International Airport (JNB) every 30 minutes. Alternatively, Eagle Liner operates a bus from Cape Town Stn to Park Station 4 times a day. Tickets cost R 550–1,200 and the journey takes 16h 20m. Two other operators also service this route.
- Website
- flysafair.co.za
Flights from Cape Town International Airport to Johannesburg International Airport
- Ave. Duration
- 2h 5m
- When
- Every day
- Estimated price
- R 1,000–2,500
Flights from Cape Town International Airport to Lanseria International Airport
- Ave. Duration
- 2h 7m
- When
- Every day
- Estimated price
- R 950–2,500
Flights from Cape Town International Airport to Lanseria International Airport via Port Elizabeth
- Ave. Duration
- 4h 20m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- R 950–2,500
Flights from Cape Town International Airport to Lanseria International Airport via Durban
- Ave. Duration
- 4h 47m
- When
- Wednesday, Sunday, Monday, Thursday, and Friday
- Estimated price
- R 950–2,500
Flights from Cape Town International Airport to Lanseria International Airport via George
- Ave. Duration
- 4h 55m
- When
- Sunday
- Estimated price
- R 950–2,500
- Website
- flysaa.com
Flights from Cape Town International Airport to Johannesburg International Airport
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- R 1,200–4,500
- Website
- g-airways.com
Flights from Cape Town International Airport to Johannesburg International Airport
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- R 1,200–9,500
- Website
- flexflight.dk
Flights from Cape Town International Airport to Johannesburg International Airport
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- R 1,200–9,500
- Website
- flycemair.co.za
Flights from Cape Town International Airport to Johannesburg International Airport
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- R 1,200–3,900
- Website
- flyairlink.com
Flights from Cape Town International Airport to Johannesburg International Airport
- Ave. Duration
- 2h 5m
- When
- Every day
- Estimated price
- R 1,500–3,700
- Website
- singaporeair.com
Flights from Cape Town International Airport to Johannesburg International Airport
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- R 1,200–4,500
- Phone
- 011 012 0231
- [email protected]
- Website
- res.prasa.com
Car train from Cape Town to Park Station
- Ave. Duration
- 41h 20m
- Frequency
- Once a week
- Estimated price
- R 430–720
- Schedules at
- res.prasa.com
- Economy (Sitter)
- R 430
- Sleeper (Tourist)
- R 690
- Phone
- 0800 428 87246
- [email protected]
- Website
- gautrain.co.za
Train from Pretoria to Park
- Ave. Duration
- 35 min
- Frequency
- Every 20 minutes
- Estimated price
- R 75–100
- Schedules at
- gautrain.co.za
- Peak
- R 100
- Off-peak
- R 80
Train from Pretoria to Park
- Ave. Duration
- 35 min
- Frequency
- Every 20 minutes
- Estimated price
- R 75–100
- Schedules at
- gautrain.co.za
- Peak
- R 100
- Off-peak
- R 80
- Phone
- 010 822 9000
- [email protected]
- Website
- eagleliner.co.za
Bus from Cape Town Stn to Park Station
- Ave. Duration
- 16h 20m
- Frequency
- 4 times a day
- Estimated price
- R 550–1,200
- Schedules at
- eagleliner.co.za
- Single
- R 850–1,200
- Phone
- +27 11 611 8000
- [email protected]
- Website
- greyhound.co.za
Bus from Cape Town Stn to Park Station
- Ave. Duration
- 19h 15m
- Frequency
- 3 times a day
- Estimated price
- R 600–850
- Schedules at
- greyhound.co.za
- Phone
- +27 11 774 3333
- Website
- City to City
Bus from Cape Town Stn to Park Station
- Ave. Duration
- 18h 27m
- Frequency
- Once daily
- Estimated price
- R 420–650
- Website
- City to City
- Phone
- +27 (0)21 380 4400
- [email protected]
- Website
- Intercape
Bus from Old Marine Dr to Paul Kruger & Scheiding St
- Ave. Duration
- 21h
- Frequency
- Every 4 hours
- Estimated price
- R 600–1,300
- Website
- Intercape
Want to know more about travelling around the world?
Rome2Rio's Travel Guide series provide vital information for the global traveller. Read our range of informative guides on popular transport routes and companies - including Thanksgiving 2018: How to travel stress-free, Getting to Rome from the airport, and How to get from Florence to Rome - to help you get the most out of your next trip.
More Questions & Answers
Cape Town to Johannesburg bus services, operated by Eagle Liner, arrive at Park Station.
Cape Town to Johannesburg train services, operated by Shosholoza Meyl, arrive at Park Station.
Yes, the driving distance between Cape Town to Johannesburg is 1397 km. It takes approximately 13h 30m to drive from Cape Town to Johannesburg.
Book your Cape Town to Johannesburg bus tickets online with 12go.asia.
There are 4989+ hotels available in Johannesburg.















