There are 7 ways to get from Cape Town to Johannesburg by plane, bus, train, car train or car

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Fly to Lanseria, bus  •  4 h 10 min

  1. Fly from Capetown (CPT) to Lanseria (HLA) CPT - HLA
  2. Take the bus from Beyers Naude & Princess Street to Harrison Street

$75 - $222

Cheapest option

Car train  •  26 h 15 min

  1. Take the car train from Cape Town to Johannesburg

$24 - $50

5 alternative options

Fly to Johannesburg  •  4 h 17 min

  1. Fly from Capetown (CPT) to Johannesburg (JNB) CPT - JNB

$71 - $235

Bus  •  18 h 35 min

  1. Take the bus from Cape Town to Johannesburg Greyhound

$35 - $70

Bus, train  •  21 h 21 min

  1. Take the bus from Cape Town to Pretoria
  2. Take the train from Pretoria to Park North-South

$39 - $44

Train  •  25 h 58 min

  1. Take the train from Capetown to Johannesburg

$210 - $240

Drive  •  14 h 17 min

  1. Drive from Cape Town to Johannesburg 875.2 miles

$130 - $200

Questions & Answers

Yes, there is a direct bus departing from Cape Town and arriving at Johannesburg. Services depart four times a day, and operate every day. The journey takes approximately 18 h 35 min.

More details

Yes, there is a direct train departing from Capetown and arriving at Johannesburg. Services depart once a week. The journey takes approximately 25 h 58 min.

More details

The distance between Cape Town and Johannesburg is 1262 km. The road distance is 1400.4 km.

Get driving directions

The best way to get from Cape Town to Johannesburg without a car is to bus which takes 18 h 35 min and costs .

More details

It takes approximately 4 h 10 min to get from Cape Town to Johannesburg, including transfers.

More details

Cape Town to Johannesburg bus services, operated by InterCape, depart from Cape Town station.

More details

Cape Town to Johannesburg train services, operated by Premier Classe, depart from Capetown station.

More details

The best way to get from Cape Town to Johannesburg is to fly which takes 4 h 17 min and costs . Alternatively, you can bus, which costs and takes 18 h 35 min, you could also train, which costs and takes 25 h 58 min.

Mode details

The quickest flight from Capetown Airport to Lanseria Airport is the direct flight which takes 1 h 55 min.

Search flights

Cape Town to Johannesburg bus services, operated by InterCape, arrive at Johannesburg station.

More details

Map of how to get from Cape Town to Johannesburg.
Launch map view
  • Distance: 788.5 miles
  • Duration: 4 h 10 min

What companies run services between Cape Town, South Africa and Johannesburg, South Africa?

Mango, South African Airways and four other airlines fly from Cape Town to Johannesburg every 30 minutes. Alternatively, InterCape operates a bus from Cape Town to Johannesburg 4 times a day. Tickets cost $40 - $60 and the journey takes 18 h 35 min. Three other operators also service this route.

Airlines
South African Airways
Website
flysaa.com
Flights from Capetown to Lanseria
Ave. Duration
1 h 55 min
When
Every day
Estimated price
$60 - $390
Flights from Capetown to Johannesburg
Ave. Duration
1 h 55 min
When
Every day
Estimated price
$70 - $400
Comair
Website
comair.co.za
Flights from Capetown to Lanseria
Ave. Duration
1 h 55 min
When
Every day
Estimated price
$75 - $410
Flights from Capetown to Johannesburg
Ave. Duration
2 h
When
Every day
Estimated price
$70 - $410
Safair
Website
flysafair.co.za
Flights from Capetown to Lanseria
Ave. Duration
2 h 5 min
When
Every day
Estimated price
$55 - $350
Flights from Capetown to Johannesburg
Ave. Duration
2 h 8 min
When
Every day
Estimated price
$60 - $340
Mango
Website
flymango.com
Flights from Capetown to Lanseria
Ave. Duration
1 h 55 min
When
Every day
Estimated price
$60 - $390
Flights from Capetown to Johannesburg
Ave. Duration
1 h 55 min
When
Every day
Estimated price
$65 - $390
British Airways
Website
britishairways.com
Flights from Capetown to Johannesburg
Ave. Duration
2 h
When
Every day
Estimated price
$90 - $470
Singapore Airlines
Website
singaporeair.com
Flights from Capetown to Johannesburg
Ave. Duration
1 h 57 min
When
Every day
Estimated price
$100 - $470
Train operators
Gautrain
Phone
+27 80 042 8872
Website
join.gautrain.co.za
Train from Pretoria to Park
Ave. Duration
39 min
Frequency
Every 20 minutes
Estimated price
$5 - $10
Schedules at
gautrain.co.za
Premier Classe
Phone
086 000 8888
Email
HMlangeni@prasa.com
Website
premierclasse.co.za
Train from Capetown to Johannesburg
Ave. Duration
25 h 58 min
Frequency
Once a week
Estimated price
$210 - $240
Schedules at
premierclasse.co.za
May - October
$218
November - April
$236
Shosholoza Meyl
Phone
086 000 8888
Website
shosholozameyl.co.za
Car train from Cape Town to Johannesburg
Ave. Duration
26 h 15 min
Frequency
4 times a week
Estimated price
$24 - $50
Schedules at
shosholozameyl.co.za
2nd Class
$24 - $35
1st Class
$40 - $60
Bus operators
Rea Vaya
Phone
0860 562 874
Email
PalesaRA@joburg.org.za
Website
reavaya.org.za
Bus from Beyers Naude & Princess Street to Harrison Street
Ave. Duration
18 min
Frequency
Every 5 minutes
Estimated price
$1
Schedules at
reavaya.org.za
InterCape
Phone
+27 (0)21 380 4400
Email
info@intercape.co.za
Website
intercape.co.za
Bus from Cape Town to Johannesburg
Ave. Duration
18 h 35 min
Frequency
4 times a day
Estimated price
$40 - $60
Schedules at
intercape.co.za
Citiliner
Phone
087 352 0352
Email
enquiries@citiliner.co.za
Website
citiliner.co.za
Bus from Cape Town to Johannesburg
Ave. Duration
17 h 55 min
Frequency
Twice daily
Estimated price
$45 - $70
Schedules at
citiliner.co.za
Greyhound ZA
Phone
+27 11 611 8000
Email
enquiries@greyhound.co.za
Website
greyhound.co.za
Bus from Cape Town to Johannesburg
Ave. Duration
17 h 55 min
Frequency
Twice daily
Estimated price
$35 - $50
Schedules at
greyhound.co.za
TransLux Express
Phone
011 774 8304
Email
translux@apx.co.za
Website
translux.co.za
Bus from Cape Town to Johannesburg
Ave. Duration
17 h 55 min
Frequency
Twice daily
Estimated price
$36
Book at
res.prasa.com
Eldo Coaches
Phone
086 113 5367
Email
info@eldocoaches.co.za
Website
eldocoaches.co.za
Bus from Cape Town to Pretoria
Ave. Duration
19 h 5 min
Frequency
3 times a day
Estimated price
$34
Schedules at
eldocoaches.co.za

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 Slovenia: Getting from Ljubljana to Lake Bled, Which side of Niagara Falls should I choose (and how do I get there)? and Train travel in France: A guide to SNCF - to help you get the most out of your next trip.

More Questions & Answers

Cape Town to Johannesburg train services, operated by Premier Classe, arrive at Johannesburg station.

More details

Yes, the driving distance between Cape Town to Johannesburg is 1400 km. It takes approximately 14 h 17 min to drive from Cape Town to Johannesburg.

Get driving directions

Mango, Safair and Comair offer flights from Capetown Airport to Lanseria Airport.

Search flights

There are 930+ hotels available in Johannesburg. Prices start at $41 USD per night.

More details

The best way to get from Cape Town to Capetown Airport is to bus which takes 30 min and costs .

More details