• Our partners include:

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

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

Fly Pietermaritzburg to Johannesburg, train  •  2 h 25 min

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

$132 - $319

Cheapest option

Bus TransLux Express  •  7 h 51 min

  1. Take the bus from Pinetown to Johannesburg

$46 - $56

6 alternative options

Taxi to Durban, fly to Lanseria  •  2 h 43 min

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

$126 - $228

Taxi to Durban, fly to Johannesburg  •  2 h 50 min

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

$122 - $261

Bus Eldo Coaches  •  6 h 51 min

  1. Take the bus from Pietermaritzburg to Johannesburg

$48 - $82

Bus Greyhound ZA  •  8 h 33 min

  1. Take the bus from Pinetown to Johannesburg

$53 - $67

Car train  •  12 h 16 min

  1. Take the car train from Pietermaritzburg to Johannesburg

$48 - $70

Drive  •  5 h 46 min

  1. Drive from Mpumalanga to Johannesburg 331.2 miles

$50 - $75

Questions & Answers

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

More details

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

More details

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

Get driving directions

The best way to get from Mpumalanga to Johannesburg without a car is to bus which takes 6 h 51 min and costs R 650 - R 1 200.

More details

It takes approximately 2 h 25 min to get from Mpumalanga to Johannesburg, including transfers.

More details

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

Search flights

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

Get driving directions

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

Search flights

There are 905+ hotels available in Johannesburg. Prices start at $40 USD per night.

More details

The best way to get from Mpumalanga to Pietermaritzburg Airport is to taxi which takes 33 min and costs R 490 - R 600.

More details

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

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

Eldo Coaches operates a bus from Mpumalanga to Johannesburg every 4 hours. Tickets cost $13 and the journey takes 6 h 19 min. Four other operators also service this route.

Airlines
South African Airways
Website
flysaa.com
Flights from Pietermaritzburg to Johannesburg
Ave. Duration
1 h 1 min
When
Every day
Estimated price
$80 - $360
Flights from Durban to Lanseria
Ave. Duration
1 h 5 min
When
Every day
Estimated price
$40 - $150
Flights from Durban to Johannesburg
Ave. Duration
1 h 5 min
When
Every day
Estimated price
$45 - $330
Flights from Durban to Johannesburg via Nelspruit
Ave. Duration
2 h 55 min
When
Every day
Estimated price
$55 - $400
Comair
Website
comair.co.za
Flights from Durban to Lanseria
Ave. Duration
1 h 5 min
When
Every day
Estimated price
$45 - $210
Flights from Durban to Johannesburg
Ave. Duration
1 h 5 min
When
Every day
Estimated price
$45 - $330
Mango
Website
flymango.com
Flights from Durban to Lanseria
Ave. Duration
1 h 5 min
When
Every day
Estimated price
$40 - $150
Flights from Durban to Johannesburg
Ave. Duration
1 h 5 min
When
Every day
Estimated price
$40 - $280
Safair
Website
flysafair.co.za
Flights from Durban to Johannesburg
Ave. Duration
1 h 14 min
When
Every day
Estimated price
$35 - $300
Qatar Airways
Website
qatarairways.com
Flights from Durban to Johannesburg
Ave. Duration
1 h 5 min
When
Every day
Estimated price
$50 - $320
British Airways
Website
britishairways.com
Flights from Durban to Johannesburg
Ave. Duration
1 h 5 min
When
Every day
Estimated price
$40 - $300
Turkish Airlines
Website
p.turkishairlines.com
Flights from Durban to Johannesburg
Ave. Duration
1 h 15 min
When
Monday, Tuesday, Thursday and Saturday
Estimated price
$110 - $420
Train operators
Gautrain
Phone
+27 80 042 8872
Website
join.gautrain.co.za
Train from Marlboro to Park
Ave. Duration
12 min
Frequency
Every 20 minutes
Estimated price
$9
Schedules at
gautrain.co.za
Shosholoza Meyl
Phone
086 000 8888
Website
shosholozameyl.co.za
Car train from Pietermaritzburg to Johannesburg
Ave. Duration
11 h 42 min
Frequency
3 times a week
Estimated price
$11 - $26
Schedules at
shosholozameyl.co.za
2nd Class
$11 - $16
1st Class
$19 - $26
Bus operators
Eldo Coaches
Phone
086 113 5367
Email
info@eldocoaches.co.za
Website
eldocoaches.co.za
Bus from Pietermaritzburg to Johannesburg
Ave. Duration
6 h 19 min
Frequency
Every 4 hours
Estimated price
$13
Schedules at
eldocoaches.co.za
Greyhound ZA
Phone
+27 11 611 8000
Email
enquiries@greyhound.co.za
Website
greyhound.co.za
Bus from Pietermaritzburg to Johannesburg
Ave. Duration
6 h
Frequency
3 times a day
Estimated price
$20 - $27
Schedules at
greyhound.co.za
Bus from Pinetown to Johannesburg
Ave. Duration
8 h 5 min
Frequency
Once daily
Estimated price
$21 - $30
Schedules at
greyhound.co.za
InterCape
Phone
+27 (0)21 380 4400
Email
info@intercape.co.za
Website
intercape.co.za
Bus from Pietermaritzburg to Johannesburg
Ave. Duration
7 h
Frequency
5 times a day
Estimated price
$12 - $40
Schedules at
intercape.co.za
TransLux Express
Phone
011 774 8304
Email
translux@apx.co.za
Website
translux.co.za
Bus from Pietermaritzburg to Johannesburg
Ave. Duration
6 h 35 min
Frequency
Twice daily
Estimated price
$16 - $22
Schedules at
res.prasa.com
Price
$16 - $22
Bus from Pinetown to Johannesburg
Ave. Duration
7 h 25 min
Frequency
Twice daily
Estimated price
$18 - $23
Schedules at
res.prasa.com
Price
$18 - $23
Citiliner
Phone
087 352 0352
Email
enquiries@citiliner.co.za
Website
citiliner.co.za
Bus from Pietermaritzburg to Johannesburg
Ave. Duration
6 h 35 min
Frequency
Twice daily
Estimated price
$21 - $30
Schedules at
citiliner.co.za
Other operators
Taxi from Mpumalanga to Durban
Ave. Duration
53 min
Estimated price
$70 - $85

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 Is ride-sharing platform BlaBlaCar right for you?, How to get from London to Edinburgh and Travelling to and around Russia for the 2018 FIFA World Cup - to help you get the most out of your next trip.