There are 9 ways to get from Grahamstown to Midrand by bus, plane, car, car train, or bus (Greyhound)
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus to Port Elizabeth, fly to Johannesburg International Airport
best- Take the bus from Grahamstown to Port Elizabeth
- Fly from Port Elizabeth (PLZ) to Johannesburg International Airport (JNB)PLZ - JNB
4h 52mR 1,404–4,361Bus
cheapest- Take the bus from Grahamstown to Johannesburg
14h 7mR 518–754Drive, car train
- Drive from Grahamstown to Queenstown
- Take the car train from Queenstown to Germiston74013
18h 50mR 892–1,339Drive 999.7 km
- Drive from Grahamstown to Midrand999.7 km
11h 44mR 2,423–3,500Bus to East London, fly to Johannesburg International Airport
- Take the bus from Grahamstown to East London
- Fly from East London (ELS) to Johannesburg International Airport (JNB)ELS - JNB
5h 26mR 1,204–3,543Bus to Port Elizabeth, fly to Lanseria International Airport
- Take the bus from Grahamstown to Port Elizabeth
- Fly from Port Elizabeth (PLZ) to Lanseria International Airport (HLA)PLZ - HLA
6h 34mR 2,096–5,876Bus to East London, fly to Lanseria International Airport
- Take the bus from Grahamstown to East London
- Fly from East London (ELS) to Lanseria International Airport (HLA)ELS - HLA
7h 13mR 2,546–7,558Bus to Mthatha Airport, fly to Johannesburg International Airport
- Take the bus from Grahamstown to Mthatha
- Fly from Mthatha Airport (UTT) to Johannesburg International Airport (JNB)UTT - JNB
8h 30mR 2,209–3,875Bus via Bhisho
- Take the bus from Grahamstown to King William's Town
- Take the bus from King William's Town to Johannesburg
16h 37mR 970–1,426
Port Elizabeth (PLZ) to Johannesburg International Airport (JNB) flights
Questions & Answers
The cheapest way to get from Grahamstown to Midrand is to bus which costs R 500 - R 800 and takes 14h 7m.
The fastest way to get from Grahamstown to Midrand is to bus and fly which takes 4h 52m and costs R 1 400 - R 4 400.
The distance between Grahamstown and Midrand is 1064 km. The road distance is 999.7 km.
The best way to get from Grahamstown to Midrand without a car is to bus which takes 14h 7m and costs R 500 - R 800.
It takes approximately 4h 52m to get from Grahamstown to Midrand, including transfers.
Yes, the driving distance between Grahamstown to Midrand is 1000 km. It takes approximately 11h 44m to drive from Grahamstown to Midrand.
There are 1836+ hotels available in Midrand.
What companies run services between Grahamstown, South Africa and Midrand, South Africa?
Vilamora Tours operates a bus from Grahamstown to Johannesburg once daily. Tickets cost R 470–700 and the journey takes 13h 38m.
Transport is disrupted due to the Russia-Ukraine war. Read more
- Website
- flysafair.co.za
Flights from Port Elizabeth to Johannesburg International Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- R 850–3,600
Flights from East London to Johannesburg International Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- R 750–2,400
Flights from East London to Johannesburg International Airport via Durban
- Ave. Duration
- 3h 35m
- When
- Monday, Wednesday, Thursday, and Friday
- Estimated price
- R 750–2,400
Flights from Port Elizabeth to Lanseria International Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- R 800–4,000
Flights from Port Elizabeth to Lanseria International Airport via Durban
- Ave. Duration
- 4h 5m
- When
- Saturday
- Estimated price
- R 800–4,000
Flights from East London to Lanseria International Airport
- Ave. Duration
- 1h 35m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- R 1,300–5,500
Flights from East London to Lanseria International Airport via Durban
- Ave. Duration
- 4h
- When
- Monday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- R 1,500–5,500
- Website
- flyairlink.com
Flights from Port Elizabeth to Johannesburg International Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- R 850–4,000
Flights from East London to Johannesburg International Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- R 950–3,200
Flights from Mthatha Airport to Johannesburg International Airport
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- R 1,700–3,200
- Website
- flycemair.co.za
Flights from Port Elizabeth to Johannesburg International Airport
- Ave. Duration
- 1h 50m
- When
- Monday, Tuesday, Wednesday, Friday, and Sunday
- Estimated price
- R 2,800–5,500
Flights from East London to Johannesburg International Airport
- Ave. Duration
- 1h 20m
- When
- Monday to Friday
- Estimated price
- R 3,200–6,500
- Website
- flysaa.com
Flights from Port Elizabeth to Johannesburg International Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- R 1,000–3,500
- Phone
- 080 122 9091
- MLPS.Info@prasa.com
- Website
- res.prasa.com
Car train from Queenstown to Germiston
- Ave. Duration
- 15h 12m
- Frequency
- Once a week
- Estimated price
- R 300–480
- Schedules at
- res.prasa.com
- Tourist (Sleeper)
- R 480
- Economy (Sitter)
- R 300
- Phone
- +27 11 672 9807
- info@vilamora.co.za
- Website
- vila-mora.co.za
Bus from Grahamstown to Port Elizabeth
- Ave. Duration
- 1h 48m
- Frequency
- Once daily
- Estimated price
- R 310–430
- Website
- https://www.vila-mora.co.za/
Bus from Grahamstown to Johannesburg
- Ave. Duration
- 13h 38m
- Frequency
- Once daily
- Estimated price
- R 470–700
- Website
- https://www.vila-mora.co.za/
- Phone
- +27 11 611 8000
- bookings@greyhound.co.za
- Website
- greyhound.co.za
Bus from Grahamstown to East London
- Ave. Duration
- 2h 30m
- Frequency
- Once daily
- Estimated price
- R 470–600
- Schedules at
- greyhound.co.za
Bus from Grahamstown to King William's Town
- Ave. Duration
- 1h 38m
- Frequency
- Once daily
- Estimated price
- R 460–600
- Schedules at
- greyhound.co.za
- Phone
- +27 86 158 9282
- Website
- res.prasa.com
Bus from Grahamstown to East London
- Ave. Duration
- 2h 31m
- Frequency
- Once daily
- Estimated price
- R 240–340
- Schedules at
- res.prasa.com
Bus from Grahamstown to Mthatha
- Ave. Duration
- 5h 32m
- Frequency
- Once daily
- Estimated price
- R 290–410
- Schedules at
- res.prasa.com
- Phone
- +27 (0)21 380 4400
- info@intercape.co.za
- Website
- intercape.co.za
Bus from King William's Town to Johannesburg
- Ave. Duration
- 13h 30m
- Frequency
- Twice daily
- Estimated price
- R 460–800
- Website
- https://www.intercape.co.za
- Full Flexi
- R 550–800
- Flexi
- R 500–700
- Saver
- R 460–650
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 10 amazing places to get away from it all in Australia, Slovenia: Getting from Ljubljana to Lake Bled, and How to get from Florence to Rome - to help you get the most out of your next trip.

















