• Our partners include:

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

There are 9 ways to get from Johannesburg to KwaZulu-Natal by plane, train, bus, 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 Johannesburg to Pietermaritzburg  •  2 h 44 min

  1. Fly from Johannesburg (JNB) to Pietermaritzburg (PZB) JNB - PZB

$99 - $282

Cheapest option

Bus  •  7 h 17 min

  1. Take the bus from Johannesburg to Durban

$13 - $40

7 alternative options

Fly Johannesburg to Richards Bay  •  3 h 3 min

  1. Fly from Johannesburg (JNB) to Richards Bay (RCB) JNB - RCB

$112 - $240

Train to Johannesburg, fly to Durban  •  3 h 8 min

  1. Take the train from Park to Marlboro
  2. Fly from Johannesburg (JNB) to Durban (DUR) JNB - DUR

$81 - $217

Bus to Lanseria, fly to Durban  •  3 h 13 min

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

$86 - $186

Fly Johannesburg to Margate  •  3 h 28 min

  1. Fly from Johannesburg (JNB) to Margate (MGH) JNB - MGH

$119 - $269

Train  •  14 h 30 min

  1. Take the train from Johannesburg to Durban

$86

Car train  •  14 h 41 min

  1. Take the car train from Johannesburg to Durban

$14 - $26

Drive  •  6 h 1 min

  1. Drive from Johannesburg to Durban 356 miles

$55 - $80

Questions & Answers

The cheapest way to get from Johannesburg to KwaZulu-Natal is to car train which costs R 190 - R 380 and takes 14 h 41 min.

More details

The quickest way to get from Johannesburg to KwaZulu-Natal is to fly which costs R 1 400 - R 4 100 and takes 2 h 44 min.

More details

Yes, there is a direct bus departing from Johannesburg and arriving at Durban. Services depart every four hours, and operate every day. The journey takes approximately 7 h 17 min.

More details

Yes, there is a direct train departing from Johannesburg and arriving at Durban. Services depart once a week, and operate Friday. The journey takes approximately 14 h 30 min.

More details

The distance between Johannesburg and KwaZulu-Natal is 380 km. The road distance is 569.6 km.

Get driving directions

The best way to get from Johannesburg to KwaZulu-Natal without a car is to bus which takes 7 h 17 min and costs R 180 - R 550.

More details

It takes approximately 2 h 44 min to get from Johannesburg to KwaZulu-Natal, including transfers.

More details

Johannesburg to KwaZulu-Natal bus services, operated by Eldo Coaches, depart from Johannesburg station.

More details

Johannesburg to KwaZulu-Natal train services, operated by Premier Classe, depart from Johannesburg station.

More details

The best way to get from Johannesburg to KwaZulu-Natal is to fly which takes 2 h 44 min and costs R 1 400 - R 4 100. Alternatively, you can bus, which costs R 180 - R 550 and takes 7 h 17 min, you could also train, which costs R 1 230 and takes 14 h 30 min.

Mode details

Map of how to get from Johannesburg to KwaZulu-Natal.
Launch map view
  • Distance: 237.5 miles
  • Duration: 2 h 44 min

What companies run services between Johannesburg, South Africa and KwaZulu-Natal, South Africa?

South African Airways flies from Johannesburg to Pietermaritzburg 4 times a day. Alternatively, Eldo Coaches operates a bus from Johannesburg to Durban every 4 hours. Tickets cost $14 and the journey takes 7 h 17 min. Two other operators also service this route.

Airlines
South African Airways
Website
flysaa.com
Flights from Johannesburg to Pietermaritzburg
Ave. Duration
1 h
When
Every day
Estimated price
$80 - $360
Flights from Johannesburg to Richards Bay
Ave. Duration
1 h 11 min
When
Every day
Estimated price
$70 - $290
Flights from Johannesburg to Durban
Ave. Duration
1 h 7 min
When
Every day
Estimated price
$45 - $330
Flights from Lanseria to Durban
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$40 - $150
Comair
Website
comair.co.za
Flights from Johannesburg to Durban
Ave. Duration
1 h 5 min
When
Every day
Estimated price
$45 - $330
Flights from Lanseria to Durban
Ave. Duration
1 h 5 min
When
Every day
Estimated price
$45 - $210
Safair
Website
flysafair.co.za
Flights from Johannesburg to Durban
Ave. Duration
1 h 15 min
When
Every day
Estimated price
$35 - $300
Mango
Website
flymango.com
Flights from Johannesburg to Durban
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$40 - $280
Flights from Lanseria to Durban
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$40 - $150
British Airways
Website
britishairways.com
Flights from Johannesburg to Durban
Ave. Duration
1 h 5 min
When
Every day
Estimated price
$40 - $300
Qatar Airways
Website
qatarairways.com
Flights from Johannesburg to Durban
Ave. Duration
1 h 6 min
When
Every day
Estimated price
$50 - $330
CemAir
Website
flycemair.co.za
Flights from Johannesburg to Richards Bay
Ave. Duration
1 h 15 min
When
Every day
Estimated price
$150 - $340
Flights from Johannesburg to Margate
Ave. Duration
1 h 30 min
When
Every day
Estimated price
$90 - $390
Airlink
Website
flyairlink.com
Flights from Johannesburg to Richards Bay
Ave. Duration
1 h 15 min
When
Every day
Estimated price
$45 - $370
Turkish Airlines
Website
p.turkishairlines.com
Flights from Johannesburg to Durban
Ave. Duration
1 h 15 min
When
Monday, Tuesday, Thursday and Saturday
Estimated price
$120 - $480
Train operators
Gautrain
Phone
+27 80 042 8872
Website
join.gautrain.co.za
Train from Park to Marlboro
Ave. Duration
11 min
Frequency
Every 20 minutes
Estimated price
$9
Schedules at
gautrain.co.za
Premier Classe
Phone
086 000 8888
Email
HMlangeni@prasa.com
Website
premierclasse.co.za
Train from Johannesburg to Durban
Ave. Duration
14 h 30 min
Frequency
Once a week
Estimated price
$86
Schedules at
premierclasse.co.za
Shosholoza Meyl
Phone
086 000 8888
Website
shosholozameyl.co.za
Car train from Johannesburg to Durban
Ave. Duration
14 h 30 min
Frequency
3 times a week
Estimated price
$12 - $26
Schedules at
shosholozameyl.co.za
2nd Class
$12 - $18
1st Class
$22 - $30
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
Eldo Coaches
Phone
086 113 5367
Email
info@eldocoaches.co.za
Website
eldocoaches.co.za
Bus from Johannesburg to Durban
Ave. Duration
7 h 17 min
Frequency
Every 4 hours
Estimated price
$14
Schedules at
eldocoaches.co.za
InterCape
Phone
+27 (0)21 380 4400
Email
info@intercape.co.za
Website
intercape.co.za
Bus from Johannesburg to Durban
Ave. Duration
7 h 35 min
Frequency
Every 4 hours
Estimated price
$27 - $40
Schedules at
intercape.co.za
Full Flexi
$35
Flexi
$30
Saver
$28
Greyhound ZA
Phone
+27 11 611 8000
Email
enquiries@greyhound.co.za
Website
greyhound.co.za
Bus from Johannesburg to Durban
Ave. Duration
7 h
Frequency
Twice daily
Estimated price
$21 - $29
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 Travelling around the UAE, Train travel in France: A guide to SNCF and Slovenia: Getting from Ljubljana to Lake Bled - to help you get the most out of your next trip.

More Questions & Answers

The quickest flight from Johannesburg Airport to Pietermaritzburg Airport is the direct flight which takes 1 h.

Search flights

Johannesburg to KwaZulu-Natal bus services, operated by Eldo Coaches, arrive at Durban station.

More details

Johannesburg to KwaZulu-Natal train services, operated by Premier Classe, arrive at Durban station.

More details

Yes, the driving distance between Johannesburg to KwaZulu-Natal is 570 km. It takes approximately 6 h 1 min to drive from Johannesburg to KwaZulu-Natal.

Get driving directions

South African Airways offers flights from Johannesburg Airport to Pietermaritzburg Airport.

Search flights