There are 8 ways to get from Johannesburg to Mpumalanga by train, plane, taxi, 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

Train to Johannesburg, fly to Pietermaritzburg  •  3 h 13 min

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

$125 - $321

Cheapest option

Bus Eldo Coaches  •  7 h 52 min

  1. Take the bus from Johannesburg to Harrismith
  2. Take the bus from Harrismith to Pietermaritzburg

$35 - $45

6 alternative options

Fly Johannesburg to Durban, taxi  •  3 h 37 min

  1. Fly from Johannesburg (JNB) to Durban (DUR) JNB - DUR
  2. Take a taxi from Durban to Mpumalanga

$115 - $256

Fly Lanseria to Durban, taxi  •  3 h 42 min

  1. Fly from Lanseria (HLA) to Durban (DUR) HLA - DUR
  2. Take a taxi from Durban to Mpumalanga

$121 - $225

Bus Greyhound ZA  •  7 h 3 min

  1. Take the bus from Johannesburg to Swinburne
  2. Take the bus from Swinburne to Pietermaritzburg

$62 - $87

Bus TransLux Express  •  7 h 35 min

  1. Take the bus from Johannesburg to Pinetown

$45 - $55

Car train  •  12 h 10 min

  1. Take the car train from Johannesburg to Pietermaritzburg

$46 - $69

Drive  •  5 h 47 min

  1. Drive from Johannesburg to Mpumalanga 331.4 miles

$50 - $75

Questions & Answers

The cheapest way to get from Johannesburg to Mpumalanga is to bus which costs R 500 - R 650 and takes 7 h 52 min.

More details

The quickest way to get from Johannesburg to Mpumalanga is to train and fly which costs R 1 800 - R 4 800 and takes 3 h 13 min.

More details

The distance between Johannesburg and Mpumalanga is 475 km. The road distance is 530.3 km.

Get driving directions

The best way to get from Johannesburg to Mpumalanga without a car is to bus which takes 7 h 3 min and costs R 900 - R 1 300.

More details

It takes approximately 3 h 13 min to get from Johannesburg to Mpumalanga, including transfers.

More details

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

Search flights

Yes, the driving distance between Johannesburg to Mpumalanga is 530 km. It takes approximately 5 h 47 min to drive from Johannesburg to Mpumalanga.

Get driving directions

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

Search flights

There are 73+ hotels available in Mpumalanga. Prices start at $39 USD per night.

More details

Map of how to get from Johannesburg to Mpumalanga.
Launch map view
  • Distance: 297.1 miles
  • Duration: 3 h 13 min

What companies run services between Johannesburg, South Africa and Mpumalanga, South Africa?

You can take a bus from Johannesburg to Mpumalanga via Swinburne and Pietermaritzburg in around 7 h 3 min.

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 Durban
Ave. Duration
1 h 7 min
When
Every day
Estimated price
$45 - $330
Flights from Johannesburg to Durban via Bloemfontein
Ave. Duration
2 h 45 min
When
Monday to Friday
Estimated price
$55 - $400
Flights from Johannesburg to Durban via Nelspruit
Ave. Duration
3 h 10 min
When
Sunday
Estimated price
$55 - $400
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
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
Safair
Website
flysafair.co.za
Flights from Johannesburg to Durban
Ave. Duration
1 h 15 min
When
Every day
Estimated price
$35 - $300
Qatar Airways
Website
qatarairways.com
Flights from Johannesburg to Durban
Ave. Duration
1 h 6 min
When
Every day
Estimated price
$50 - $330
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
$8
Schedules at
gautrain.co.za
Shosholoza Meyl
Phone
086 000 8888
Website
shosholozameyl.co.za
Car train from Johannesburg to Pietermaritzburg
Ave. Duration
11 h 35 min
Frequency
3 times a week
Estimated price
$10 - $25
Schedules at
shosholozameyl.co.za
2nd Class
$10 - $16
1st Class
$18 - $25
Bus operators
Greyhound ZA
Phone
+27 11 611 8000
Email
enquiries@greyhound.co.za
Website
greyhound.co.za
Bus from Johannesburg to Swinburne
Ave. Duration
3 h 30 min
Frequency
3 times a day
Estimated price
$16 - $22
Schedules at
greyhound.co.za
Bus from Swinburne to Pietermaritzburg
Ave. Duration
2 h
Frequency
4 times a day
Estimated price
$14 - $20
Schedules at
greyhound.co.za
Citiliner
Phone
087 352 0352
Email
enquiries@citiliner.co.za
Website
citiliner.co.za
Bus from Johannesburg to Swinburne
Ave. Duration
3 h 30 min
Frequency
4 times a day
Estimated price
$15 - $21
Schedules at
citiliner.co.za
Bus from Swinburne to Pietermaritzburg
Ave. Duration
2 h 30 min
Frequency
6 times a week
Estimated price
$12 - $18
Schedules at
citiliner.co.za
TransLux Express
Phone
011 774 8304
Email
translux@apx.co.za
Website
translux.co.za
Bus from Johannesburg to Montrose
Ave. Duration
3 h 25 min
Frequency
Twice daily
Schedules at
res.prasa.com
Bus from Montrose to Pietermaritzburg
Ave. Duration
2 h 25 min
Frequency
Twice daily
Schedules at
res.prasa.com
Bus from Johannesburg to Pinetown
Ave. Duration
7 h 10 min
Frequency
Twice daily
Estimated price
$17 - $23
Schedules at
res.prasa.com
Price
$17 - $23
Eldo Coaches
Phone
086 113 5367
Email
info@eldocoaches.co.za
Website
eldocoaches.co.za
Bus from Johannesburg to Harrismith
Ave. Duration
3 h 36 min
Frequency
Every 4 hours
Schedules at
eldocoaches.co.za
Book at
cbsc.co.za
Bus from Harrismith to Pietermaritzburg
Ave. Duration
2 h 43 min
Frequency
Every 4 hours
Schedules at
eldocoaches.co.za
Book at
cbsc.co.za
Other operators
Taxi from Durban to Mpumalanga
Ave. Duration
52 min
Estimated price
$65 - $80
Eagle Taxi Cabs
Phone
+27 31 337 8333
Website
eagletaxicabs.co.za
Shauns Taxis
Phone
031 463 2618/40
Website
shaunstaxis.co.za
Mozzie Cabs
Phone
+27 31 303 5787
Website
mozziecabs.mobi

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 French strikes 2018: What are my alternative transport options?, Getting to Milan from the airport and Italy Travel Guides - to help you get the most out of your next trip.