• Our partners include:

  • Booking.com
  • Skyscanner
  • Airbnb
  • Expedia
  • Uber
  • Rentalcars.com

There are 7 ways to get from Johannesburg to Cape Town by bus, plane, 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

Bus to Lanseria, fly  •  4 h 20 min

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

$75 - $223

Cheapest option

Car train  •  27 h

  1. Take the car train from Johannesburg to Cape Town

$24 - $50

5 alternative options

Fly from Johannesburg  •  4 h 25 min

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

$70 - $234

Bus  •  18 h 35 min

  1. Take the bus from Johannesburg to Cape Town

$35 - $70

Train, bus  •  21 h 33 min

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

$56 - $85

Train  •  26 h 10 min

  1. Take the train from Johannesburg to Capetown

$210 - $240

Drive  •  14 h 19 min

  1. Drive from Johannesburg to Cape Town 876 miles

$130 - $200

Questions & Answers

The cheapest way to get from Johannesburg to Cape Town is to bus which costs R 500 - R 1 000 and takes 18 h 35 min.

More details

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

More details

Yes, there is a direct bus departing from Johannesburg and arriving at Cape Town. Services depart five 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 Johannesburg and arriving at Capetown. Services depart once a week, and operate Thursday. The journey takes approximately 26 h 10 min.

More details

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

Get driving directions

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

More details

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

More details

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

More details

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

More details

The best way to get from Johannesburg to Cape Town is to fly which takes 4 h 25 min and costs R 1 000 - R 3 400. Alternatively, you can bus, which costs R 500 - R 1 000 and takes 18 h 35 min, you could also train, which costs R 3 100 - R 3 400 and takes 26 h 10 min.

Mode details

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

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

South African Airways, British Airways and four other airlines fly from Johannesburg to Cape Town every 30 minutes. Alternatively, InterCape operates a bus from Johannesburg to Cape Town 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 Lanseria to Capetown
Ave. Duration
2 h 15 min
When
Every day
Estimated price
$60 - $390
Flights from Lanseria to Capetown via Durban
Ave. Duration
4 h 30 min
When
Every day
Estimated price
$60 - $390
Flights from Johannesburg to Capetown
Ave. Duration
2 h 7 min
When
Every day
Estimated price
$70 - $400
Safair
Website
flysafair.co.za
Flights from Lanseria to Capetown
Ave. Duration
2 h 15 min
When
Every day
Estimated price
$55 - $350
Flights from Johannesburg to Capetown
Ave. Duration
2 h 15 min
When
Every day
Estimated price
$60 - $340
Comair
Website
comair.co.za
Flights from Lanseria to Capetown
Ave. Duration
2 h 4 min
When
Every day
Estimated price
$75 - $410
Flights from Johannesburg to Capetown
Ave. Duration
2 h 10 min
When
Every day
Estimated price
$70 - $410
Mango
Website
flymango.com
Flights from Lanseria to Capetown
Ave. Duration
2 h 15 min
When
Every day
Estimated price
$60 - $390
Flights from Lanseria to Capetown via Durban
Ave. Duration
4 h 30 min
When
Every day
Estimated price
$60 - $390
Flights from Johannesburg to Capetown
Ave. Duration
2 h 10 min
When
Every day
Estimated price
$65 - $390
British Airways
Website
britishairways.com
Flights from Johannesburg to Capetown
Ave. Duration
2 h 10 min
When
Every day
Estimated price
$90 - $470
Singapore Airlines
Website
singaporeair.com
Flights from Johannesburg to Capetown
Ave. Duration
2 h 10 min
When
Every day
Estimated price
$130 - $600
Train operators
Gautrain
Phone
+27 80 042 8872
Website
join.gautrain.co.za
Train from Park to Pretoria
Ave. Duration
38 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 Johannesburg to Capetown
Ave. Duration
26 h 10 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 Johannesburg to Cape Town
Ave. Duration
27 h
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 Harrison Street to Beyers Naude & Princess Street
Ave. Duration
19 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 Johannesburg to Cape Town
Ave. Duration
18 h 35 min
Frequency
4 times a day
Estimated price
$40 - $60
Schedules at
intercape.co.za
TransLux Express
Phone
011 774 8304
Email
translux@apx.co.za
Website
translux.co.za
Bus from Johannesburg to Cape Town
Ave. Duration
17 h 15 min
Frequency
Twice daily
Estimated price
$36
Book at
res.prasa.com
Citiliner
Phone
087 352 0352
Email
enquiries@citiliner.co.za
Website
citiliner.co.za
Bus from Johannesburg to Cape Town
Ave. Duration
18 h 30 min
Frequency
Twice daily
Estimated price
$45 - $70
Schedules at
citiliner.co.za
Bus from Pretoria to Cape Town
Ave. Duration
19 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 Johannesburg to Cape Town
Ave. Duration
18 h 30 min
Frequency
Once daily
Estimated price
$35 - $50
Schedules at
greyhound.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 Train travel in Spain: A guide to Renfe, Thanksgiving 2018: How to travel stress-free and Train travel in France: A guide to SNCF - to help you get the most out of your next trip.

More Questions & Answers

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

Search flights

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

More details

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

More details

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

Get driving directions

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

Search flights

There are 3285+ hotels available in Cape Town. Prices start at $50 USD per night.

More details