There are 5 ways to get from Pretoria to Mahikeng by train, plane, car or bus

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 to Mmabatho/Mafikeng  •  3 h 5 min

  1. Take the train from Pretoria to Marlboro
  2. Fly from Johannesburg (JNB) to Mmabatho/Mafikeng (MBD) JNB - MBD

$119 - $379

Cheapest option

Bus, drive  •  10 h 18 min

  1. Take the bus from Pretoria to Johannesburg
  2. Take the bus from Johannesburg to Gaborone
  3. Take the bus from Gaborone to Lobatse
  4. Drive from Lobatse to Mahikeng

$31 - $45

3 alternative options

Fly to Gaborone, train, drive  •  6 h 42 min

  1. Fly from Johannesburg (JNB) to Gaborone (GBE) JNB - GBE
  2. Take the train from Gaborone to Lobatse
  3. Drive from Lobatse to Mahikeng

Train, bus, drive  •  9 h 40 min

  1. Take the train from Pretoria to Park
  2. Take the bus from Johannesburg to Gaborone
  3. Take the train from Gaborone to Lobatse
  4. Drive from Lobatse to Mahikeng

Drive  •  4 h 4 min

  1. Drive from Pretoria to Mahikeng 187.5 miles

$28 - $45

Questions & Answers

The distance between Pretoria and Mahikeng is 254 km. The road distance is 300 km.

Get driving directions

It takes approximately 3 h 5 min to get from Pretoria to Mahikeng, including transfers.

More details

The quickest flight from Johannesburg Airport to Mmabatho/Mafikeng Airport is the direct flight which takes 40 min.

Search flights

Yes, the driving distance between Pretoria to Mahikeng is 300 km. It takes approximately 4 h 4 min to drive from Pretoria to Mahikeng.

Get driving directions

South African Airways offers flights from Johannesburg Airport to Mmabatho/Mafikeng Airport.

Search flights

There are 10+ hotels available in Mahikeng. Prices start at $100 USD per night.

More details

Map of how to get from Pretoria to Mahikeng.
Launch map view
  • Distance: 158.5 miles
  • Duration: 3 h 5 min

What companies run services between Pretoria, South Africa and Mahikeng, South Africa?

There is no direct connection from Pretoria to Mahikeng. However, you can take the train to Marlboro, take the train to OR Tambo Airport, take the walk to Johannesburg airport, fly to Mmabatho/Mafikeng, then take the taxi to Mahikeng. Alternatively, you can take the train to Marlboro, take the train to OR Tambo Airport, take the walk to Johannesburg airport, fly to Gaborone, take the drive to Gaborone, take the train to Lobatse, then take the drive to Mahikeng.

Airlines
South African Airways
Website
flysaa.com
Flights from Johannesburg to Mmabatho/Mafikeng
Ave. Duration
40 min
When
Monday, Wednesday and Friday
Estimated price
$85 - $340
Flights from Johannesburg to Gaborone
Ave. Duration
55 min
When
Every day
Estimated price
$75 - $330
Air Botswana
Website
airbotswana.co.bw
Flights from Johannesburg to Gaborone
Ave. Duration
1 h
When
Every day
Estimated price
$100 - $550
Airlink
Website
flyairlink.com
Flights from Johannesburg to Gaborone
Ave. Duration
55 min
When
Every day
Estimated price
$30 - $280
Train operators
Gautrain
Phone
+27 80 042 8872
Website
join.gautrain.co.za
Train from Pretoria to Marlboro
Ave. Duration
27 min
Frequency
Every 20 minutes
Estimated price
$10
Schedules at
gautrain.co.za
Train from Pretoria to Park
Ave. Duration
39 min
Frequency
Every 20 minutes
Estimated price
$5 - $10
Schedules at
gautrain.co.za
Botswana Railways
Phone
+267 4711375
Email
info@botrail.bw
Website
botswanarailways.co.bw
Train from Gaborone to Lobatse
Ave. Duration
1 h 26 min
Frequency
Once daily
Schedules at
botswanarailways.co.bw
Bus operators
AT and T Monnakgotla
Website
monnakgotla.co.bw
Bus from Johannesburg to Gaborone
Ave. Duration
4 h 25 min
Frequency
Once daily
Estimated price
$14
Schedules at
monnakgotla.co.bw
InterCape
Phone
+27 (0)21 380 4400
Email
info@intercape.co.za
Website
intercape.co.za
Bus from Johannesburg to Gaborone
Ave. Duration
7 h 30 min
Frequency
Once daily
Estimated price
$15 - $35
Schedules at
intercape.co.za
Saver
$16
Flexi
$19
Full Flexi
$23
Greyhound ZA
Phone
+27 11 611 8000
Email
enquiries@greyhound.co.za
Website
greyhound.co.za
Bus from Pretoria to Johannesburg
Ave. Duration
1 h
Frequency
Every 4 hours
Estimated price
$12 - $18
Schedules at
greyhound.co.za
Eldo Coaches
Phone
086 113 5367
Email
info@eldocoaches.co.za
Website
eldocoaches.co.za
Bus from Pretoria to Johannesburg
Ave. Duration
43 min
Frequency
Every 4 hours
Schedules at
eldocoaches.co.za
TransLux Express
Phone
011 774 8304
Email
translux@apx.co.za
Website
translux.co.za
Bus from Pretoria to Johannesburg
Ave. Duration
1 h
Frequency
3 times a day
Schedules at
res.prasa.com
Citiliner
Phone
087 352 0352
Email
enquiries@citiliner.co.za
Website
citiliner.co.za
Bus from Pretoria to Johannesburg
Ave. Duration
1 h 45 min
Frequency
4 times a day
Estimated price
$8 - $12
Schedules at
citiliner.co.za
Seabelo Group
Phone
+267 395 7078
Email
kenneth@seabelo.bw
Website
seabelo.bw
Bus from Gaborone to Lobatse
Ave. Duration
1 h 40 min
Frequency
3 times a day
Estimated price
$1 - $2
Schedules at
seabelo.bw

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 Heading to Europe? Read this before you buy a Eurail Pass, Travelling Croatia’s Dalmatian Coast by boat, bus, car and train and How do I get from Sydney to Melbourne - to help you get the most out of your next trip.