There are 3 ways to get from Pretoria to Richards Bay by train, plane, bus 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, fly  •  3 h 29 min

  1. JNB - RCB

$117 - $246

Cheapest option

Bus  •  10 h 35 min

$27 - $40

1 alternative option

Drive  •  6 h 59 min

  1. 405.3 miles

$60 - $90

What companies run services between Pretoria, South Africa and Richards Bay, South Africa?

Greyhound ZA operates a bus from Pretoria to Richards Bay twice daily. Tickets cost $27 - $40 and the journey takes 10 h 35 min.

South African Airways
Flights from Johannesburg to Richards Bay
Ave. Duration
1 h 15 min
Every day
Estimated price
$95 - $210
Train operators
+27 80 042 8872
Train from Pretoria to Marlboro
Ave. Duration
27 min
Every 20 minutes
Estimated price
Schedules at
Bus operators
Greyhound ZA
+27 11 611 8000
Bus from Pretoria to Richards Bay
Ave. Duration
10 h 35 min
Twice daily
Estimated price
$27 - $40
Schedules at

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 Croatia’s Dalmatian Coast by boat, bus, car and train, How do I buy a London Underground ticket? and The London Underground: Essential tips to navigate the Tube - to help you get the most out of your next trip.

Questions & Answers

The distance between Pretoria and Richards Bay is 509 km. The road distance is 648 km.

The cheapest way to get from Pretoria to Richards Bay is to bus which costs R 340 - R 470 and takes 10 h 35 min.

The quickest way to get from Pretoria to Richards Bay is to train and fly which takes 3 h 29 min and costs R 1 400 - R 3 100.

Yes, there is a direct bus departing from Pretoria and arriving at Richards Bay. Services depart twice daily, and operate every day. The journey takes approximately 10 h 35 min.

It takes approximately 3 h 29 min to get from Pretoria to Richards Bay, including transfers.