There are 7 ways to get from Cape Town to Pretoria by plane, taxi, bus, car train, car, bus (Greyhound), or train
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly to Johannesburg International Airport, taxi
best- Fly from Cape Town International Airport (CPT) to Johannesburg International Airport (JNB)plane CPT - JNB
- Take the taxi from Johannesburg-Airport-JNB to Pretoriataxi
2h 49mR 2,009–3,829Bus
cheapest- Take the bus from Old Marine Dr to Paul Kruger & Scheiding Stbus
21hR 420–1,300Bus via Midrand
- Take the bus from Bellville to Midrandbus
18h 59mR 1,229–2,290Car train, drive
- Take the car train from Cape Town to Potchefstroomcartrain
- Drive from Potchefstroom to Pretoriacar
37h 6mR 810–1,290Drive 1,453 km
- Drive from Cape Town to Pretoriacar 1,453 km
14h 5mR 3,282–4,740Fly to Lanseria International Airport
- Fly from Cape Town International Airport (CPT) to Lanseria International Airport (HLA)plane CPT - HLA
3h 32mR 1,959–4,129Train
- Take the train from Rovos Rail Lounge to Rovos Rail Stationtrain
3d 5h
Cape Town to Pretoria by bus
Questions & Answers
The cheapest way to get from Cape Town to Pretoria is to bus which costs R 420 - R 1 300 and takes 21h.
The fastest way to get from Cape Town to Pretoria is to fly and taxi which takes 2h 49m and costs R 2 000 - R 3 900.
Yes, there is a direct bus departing from Old Marine Dr and arriving at Paul Kruger & Scheiding St. Services depart three times a day, and operate every day. The journey takes approximately 21h.
Yes, there is a direct train departing from Rovos Rail Lounge and arriving at Rovos Rail Station station. Services depart once a week. The journey takes approximately 3 days 5h.
The distance between Cape Town and Pretoria is 1340 km. The road distance is 1453 km.
The best way to get from Cape Town to Pretoria without a car is to bus via Midrand which takes 18h 59m and costs R 1 200 - R 2 300.
It takes approximately 2h 49m to get from Cape Town to Pretoria, including transfers.
Cape Town to Pretoria bus services, operated by InterCape, depart from Old Marine Dr station.
Cape Town to Pretoria train services, operated by Rovos Rail, depart from Rovos Rail Lounge station.
The best way to get from Cape Town to Pretoria is to bus via Midrand which takes 18h 59m and costs R 1 200 - R 2 300. Alternatively, you can fly, which costs R 1 900 - R 4 200 and takes 3h 32m, you could also train, which costs and takes 3 days 5h.
What companies run services between Cape Town, South Africa and Pretoria, South Africa?
Tamuka Coaches operates a bus from Bellville to Midrand 6 times a week. Tickets cost R 1,100–1,600 and the journey takes 17h. Alternatively, Safair flies from Cape Town International Airport (CPT) to Lanseria International Airport (HLA) every 3 hours.
- Website
- flysafair.co.za
Flights from Cape Town International Airport to Johannesburg International Airport
- Ave. Duration
- 2h 5m
- When
- Every day
- Estimated price
- R 1,100–2,600
Flights from Cape Town International Airport to Lanseria International Airport
- Ave. Duration
- 2h 7m
- When
- Every day
- Estimated price
- R 1,000–2,700
Flights from Cape Town International Airport to Lanseria International Airport via Port Elizabeth
- Ave. Duration
- 4h 20m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- R 1,000–2,700
Flights from Cape Town International Airport to Lanseria International Airport via Durban
- Ave. Duration
- 4h 47m
- When
- Wednesday, Sunday, Monday, Thursday, and Friday
- Estimated price
- R 1,000–2,700
Flights from Cape Town International Airport to Lanseria International Airport via George
- Ave. Duration
- 4h 55m
- When
- Sunday
- Estimated price
- R 1,000–2,700
- Website
- flysaa.com
Flights from Cape Town International Airport to Johannesburg International Airport
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- R 1,200–4,800
- Website
- g-airways.com
Flights from Cape Town International Airport to Johannesburg International Airport
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- R 1,300–9,500
- Website
- flexflight.dk
Flights from Cape Town International Airport to Johannesburg International Airport
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- R 1,300–9,500
- Website
- flycemair.co.za
Flights from Cape Town International Airport to Johannesburg International Airport
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- R 1,200–3,800
- Website
- flyairlink.com
Flights from Cape Town International Airport to Johannesburg International Airport
- Ave. Duration
- 2h 5m
- When
- Every day
- Estimated price
- R 1,600–3,800
- Website
- singaporeair.com
Flights from Cape Town International Airport to Johannesburg International Airport
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- R 1,200–4,800
- Phone
- 011 012 0231
- [email protected]
- Website
- res.prasa.com
Car train from Cape Town to Potchefstroom
- Ave. Duration
- 34h 55m
- Frequency
- Once a week
- Estimated price
- R 430–690
- Schedules at
- res.prasa.com
- Economy (Sitter)
- R 430
- Sleeper (Tourist)
- R 690
- Phone
- +27 (0)12 315 8242
- [email protected]
- Website
- rovos.com
Train from Rovos Rail Lounge to Rovos Rail Station
- Ave. Duration
- 3d 5h
- Frequency
- Once a week
- Website
- https://rovos.com/
- Phone
- +27 84 575 4609
- [email protected]
- Website
- tamukacoaches.com
Bus from Bellville to Midrand
- Ave. Duration
- 17h
- Frequency
- 6 times a week
- Estimated price
- R 1,100–1,600
- Website
- https://tamukacoaches.com/
- Phone
- +27 (0)21 380 4400
- [email protected]
- Website
- intercape.co.za
Bus from Old Marine Dr to Paul Kruger & Scheiding St
- Ave. Duration
- 21h
- Frequency
- Every 4 hours
- Estimated price
- R 600–1,300
- Website
- https://www.intercape.co.za
- Phone
- 010 822 9000
- [email protected]
- Website
- eagleliner.co.za
Bus from Old Marine Dr to Paul Kruger & Scheiding St
- Ave. Duration
- 20h 5m
- Frequency
- 4 times a day
- Estimated price
- R 590–1,300
- Schedules at
- eagleliner.co.za
- Single
- R 850–1,300
- Phone
- +27 11 611 8000
- [email protected]
- Website
- greyhound.co.za
Bus from Old Marine Dr to Paul Kruger & Scheiding St
- Ave. Duration
- 20h 15m
- Frequency
- 3 times a day
- Estimated price
- R 650–850
- Schedules at
- greyhound.co.za
- Phone
- +27 11 774 3333
- Website
- res.prasa.com
Bus from Old Marine Dr to Paul Kruger & Scheiding St
- Ave. Duration
- 19h 10m
- Frequency
- Once daily
- Estimated price
- R 420–650
- Website
- https://res.prasa.com/citytocity/booking
- Ave. Duration
- 31 min
- Estimated price
- R 800–1,000
Corporate Cabs
- Phone
- +27 11 782 1391
- Website
- corporatecabs.co.za
Orange Cabs
- Phone
- 0860 700 222
- Website
- orangecab.co.za
Ortiac
- Phone
- +27 76 382 9496
- Website
- ortiacortambocab.co.za
Sandton Taxi Cabs
- Phone
- +27 78 396 4115
- Website
- sandtontaxicabs.co.za
UBER
- Phone
- 0800172956
- Website
- uber.com
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 Why you should take the train in the US, 5 incredible day trips from Florence by train, and The London Underground: Essential tips to navigate the Tube - to help you get the most out of your next trip.
More Questions & Answers
Cape Town to Pretoria bus services, operated by InterCape, arrive at Paul Kruger & Scheiding St station.
Cape Town to Pretoria train services, operated by Rovos Rail, arrive at Rovos Rail Station.
Yes, the driving distance between Cape Town to Pretoria is 1453 km. It takes approximately 14h 5m to drive from Cape Town to Pretoria.
Book your Cape Town to Pretoria bus tickets online with 12go.asia.
There are 1807+ hotels available in Pretoria.
















