How to travel from Cape Town to Johannesburg, South Africa

The distance between Cape Town and Johannesburg is around 1,326km (824 miles) and the quickest way to get there is to fly and then take the bus which takes around 3h 25m.

5 routes found

We've found 5 different ways to get from Cape Town to Johannesburg by plane, bus, train and car. The recommended routes, which include information on duration, ticket price, and level of difficulty, can be found below.

👋 Also check out JohannesburgCape Town if you're planning a return trip.

🚀 Fastest
1
plane
+
bus
+

Plane and Bus

Fly from Capetown (CPT) to Lanseria (HLA) then take the bus to Sandton.

  • Duration3h 25m
  • Flight time2hrs
  • Typical cost
    ZAR 3,015($175)
Operated by

Multiple operators

2
bus
+

Bus

Take the bus to Johannesburg.

  • Duration18hrs
  • Departsevery 3 hours
  • Typical cost
    ZAR 600($35)
Operated by

Eldo Coaches

+ 4 others

1 similiar route

We’ve grouped similar routes together, click the arrows to see the other options.

💰 Cheapest
3
train
+
train
+

Train

Take the train to Springfontein and then to Johannesburg Park.

  • Duration1 day 4h
  • Departsonce a week
  • Typical cost
    ZAR 460($27)
Operated by

Shosholoza Meyl

4
car
+

Drive

Drive to Johannesburg.

  • Duration14h 10m
  • Distance1,398km (868 miles)
Get turn-by-turn directions

Frequently asked questionsabout travel between Cape Town and Johannesburg

There are several options for getting from Cape Town to Johannesburg by plane, bus, train and car. The cheapest option is to take the train which costs around ZAR 460 ($27) and will take around 1 day 4h. If you need to get there more quickly, you can fly and then take the bus and arrive in approximately 3h 25m, though it is a bit more costly at approximately ZAR 3,015 ($175).

The distance between Cape Town and Johannesburg is around 1,326km (824 miles). In a direct line (as the crow flies), the distance is 1,262km (784 miles)

It takes around 3h 25m to get from Cape Town and Johannesburg by plane and bus. If you are travelling by car it will take around 14h 10m to drive there.

The quickest way to get from Cape Town to Johannesburg is to fly and then take the bus which takes around 3h 25m and will set you back approx ZAR 3,015 ($175).

The cheapest way to travel between Cape Town and Johannesburg, if you exclude driving, is to take the train which will typically cost around ZAR 460 ($27) for a standard one-way ticket.

Train travel

Yes there is a train service that runs between Cape Town and Johannesburg. It typically takes around 1 day 4h and departs once a week.

There are no direct train services that runs from Cape Town to Johannesburg. However, you can instead can take several connecting trains with a changeover in Springfontein. These services run once a week and will take a minimum of 1 day 4h.

Shosholoza Meyl run train services between Cape Town and Johannesburg. Trains depart once a week and will take around 1 day 4h, however, this may vary depending on the particular service and whether it runs express or stops all stations.

Bus travel

Yes there is a bus that runs regularly from Cape Town and Johannesburg. It typically takes around 18hrs and departs every 20 mins.

Yes there is a direct bus service that runs between Cape Town and Johannesburg with no changeovers required. The bus runs every 20 mins and takes 18hrs.

Eldo Coaches, Eagle Liner, Greyhound ZA and TransLux Express run regular bus services between Cape Town and Johannesburg. Buses run every 20 mins and take around 18hrs on average but will vary depending on you book with.

Flights and Airlines

It doesn't look like you can fly directly from Cape Town to Johannesburg. We recommend that you fly from Capetown (CPT) to Lanseria (HLA) then take the bus to Sandton. instead which will take 3h 25m.

The closest major airport to Johannesburg is OR Tambo International Airport (JNB) (JNB) which is approximately 21km (13 miles) from Johannesburg. Lanseria International Airport (HLA) (HLA) and Kruger Mpumalanga International Airport (MQP) (MQP) are also nearby and might be a better alternative airport depending on where you are flying from.

Drive yourself

Yes it is possible to drive from Cape Town and Johannesburg. The distance is around 1,398km (868 miles) by road and it will take around 14h 10m in normal traffic conditons.

If you don't have a car, the easiest way to get from Cape Town to Johannesburg is to fly and then take the bus which takes, on average, 3h 25m and will usually cost around ZAR 3,015 ($175).

How do I get from Cape Town to Johannesburg

Compare travel optionsbetween Cape Town and Johannesburg

Transport options from Cape Town to Johannesburg
Transport optionDurationCostFrequencyDistance
Plane and Bus
3h 25m
ZAR 3,015($175)
every 20 mins1,326km (824 miles)
Bus + 1 similar
18hrs
ZAR 600($35)
every 3 hours1,436km (892 miles)
Bus via Pretoria19h 50m
ZAR 805($47)
once daily1,509km (938 miles)
Train
1 day 4h
ZAR 460($27)
once a week1,598km (993 miles)
Drive
14h 10m
ZAR 3,340($195)
on demand1,398km (868 miles)

Top Carriersoperating between Cape Town and Johannesburg

Airlines

Bus companies

Train operators

Airports near Johannesburg

The following major airports near Johannesburg offer regular flights to various popular destinations within South Africa and internationally.

JNB
OR Tambo International Airport (JNB)
International Airport
Distance
21km (13 miles) from Johannesburg
HLA
Lanseria International Airport (HLA)
International Airport
Distance
32km (20 miles) from Johannesburg
MQP
Kruger Mpumalanga International Airport (MQP)
International Airport
Distance
319km (198 miles) from Johannesburg