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

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

Bus, drive  •  10 h 18 min

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

$33 - $48

3 alternative options

Train, bus, drive  •  10 h 29 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

Train, fly  •  3 h 20 min

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

$122 - $382

Questions & Answers

The cheapest way to get from Pretoria to Mahikeng is to drive which costs R 380 - R 600 and takes 4 h 4 min.

More details

The quickest way to get from Pretoria to Mahikeng is to train and fly which costs R 1 600 - R 5 500 and takes 3 h 20 min.

More details

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

Get driving directions

It takes approximately 10 h 18 min to get from Pretoria to Mahikeng, including transfers.

More details

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 bus to Johanessburg, take the walk to Johannesburg, take the bus to Gaborone, take the bus to Lobatse, then take the drive to Mahikeng. Alternatively, you can take the train to Park, take the walk to Johannesburg, take the bus 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
55 min
When
Monday, Wednesday and Friday
Estimated price
$85 - $340
Train operators
Gautrain
Phone
+27 80 042 8872
Website
join.gautrain.co.za
Train from Pretoria to Park
Ave. Duration
39 min
Frequency
Every 20 minutes
Estimated price
$6 - $11
Schedules at
gautrain.co.za
Train from Pretoria to Marlboro
Ave. Duration
27 min
Frequency
Every 20 minutes
Estimated price
$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
2 h 15 min
Frequency
Once daily
Schedules at
botswanarailways.co.bw
Bus operators
Citiliner
Phone
087 352 0352
Email
enquiries@citiliner.co.za
Website
citiliner.co.za
Bus from Pretoria to Johanessburg
Ave. Duration
1 h
Frequency
Every 4 hours
Estimated price
$9 - $13
Schedules at
citiliner.co.za
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 45 min
Frequency
3 times a day
Estimated price
$13 - $19
Schedules at
greyhound.co.za
AT and T Monnakgotla
Website
monnakgotla.co.bw
Bus from Johannesburg to Gaborone
Ave. Duration
4 h 25 min
Frequency
Once daily
Estimated price
$15
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
$16 - $40
Schedules at
intercape.co.za
Saver
$17
Flexi
$21
Full Flexi
$25
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 Italian Lakes: Getting around by train, Need to know: Jadrolinija and Bali: What to do if Mount Agung erupts - to help you get the most out of your next trip.