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 Johannesburg  •  4 h 17 min

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

$72 - $235

Cheapest option

Car train  •  26 h 15 min

  1. Take the car train from Cape Town to Johannesburg

$25 - $55

5 alternative options

Fly to Lanseria  •  4 h 16 min

  1. Fly from Capetown (CPT) to Lanseria (HLA) CPT - HLA

$89 - $236

Bus  •  18 h 35 min

  1. Take the bus from Cape Town to Johannesburg Greyhound

$35 - $75

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

$42 - $47

Train  •  25 h 58 min

  1. Take the train from Capetown to Johannesburg

$230 - $260

Drive  •  14 h 17 min

  1. Drive from Cape Town to Johannesburg 875.2 miles

$130 - $200

Questions & Answers

The cheapest way to get from Cape Town to Johannesburg is to bus and train which costs R 550 - R 650 and takes 21 h 21 min.

More details

The quickest way to get from Cape Town to Johannesburg is to fly which costs R 1 100 - R 3 200 and takes 4 h 16 min.

More details

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

Get driving directions

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

More details

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

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

South African Airways, Mango 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 $45 - $65 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 Johannesburg
Ave. Duration
1 h 55 min
When
Every day
Estimated price
$70 - $400
Flights from Capetown to Lanseria
Ave. Duration
1 h 55 min
When
Every day
Estimated price
$60 - $390
Comair
Website
comair.co.za
Flights from Capetown to Johannesburg
Ave. Duration
2 h
When
Every day
Estimated price
$70 - $410
Flights from Capetown to Lanseria
Ave. Duration
1 h 55 min
When
Every day
Estimated price
$75 - $410
Safair
Website
flysafair.co.za
Flights from Capetown to Johannesburg
Ave. Duration
2 h 8 min
When
Every day
Estimated price
$60 - $340
Flights from Capetown to Lanseria
Ave. Duration
2 h 5 min
When
Every day
Estimated price
$55 - $350
Mango
Website
flymango.com
Flights from Capetown to Johannesburg
Ave. Duration
1 h 55 min
When
Every day
Estimated price
$65 - $390
Flights from Capetown to Lanseria
Ave. Duration
1 h 55 min
When
Every day
Estimated price
$60 - $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
$6 - $11
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
$230 - $260
Schedules at
premierclasse.co.za
May - October
$233
November - April
$251
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
$25 - $55
Schedules at
shosholozameyl.co.za
2nd Class
$25 - $40
1st Class
$45 - $60
Bus operators
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
$45 - $65
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
$50 - $75
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 - $55
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
$38
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
$36
Schedules at
eldocoaches.co.za
Book at
cbsc.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, Getting around the Cyclades and Getting to Rome from the airport - to help you get the most out of your next trip.