Johannesburg to Durban is 571 km and about 7 hours 20 minutes of driving on the N3. Tolls for a Class 4 vehicle are R1 274 one way. It is the busiest freight lane in South Africa — the road between the country’s industrial heartland and its largest port — and it is one of the few long lanes a driver can legally complete inside a shift.
What follows is what is actually on the road: the compulsory weighbridge 53 km in, five toll plazas, Van Reenen’s Pass, and what a leg costs.

Why this corridor carries what it carries
Gauteng is landlocked and produces most of South Africa’s manufactured output. Durban is the busiest container port in sub-Saharan Africa. Everything Gauteng exports and almost everything it imports travels this road or the rail line beside it — which is why the N3 carries the freight density it does over a relatively short distance.
The flow is genuinely two-directional, which makes this lane unusual in Southern Africa. Containers and manufactured goods move down; imports, fuel and raw material move up. That balance is why backhaul is easier here than on almost any other long lane in the region — and why rates on it are tighter. A road where everyone can find a return load is a road where nobody can charge a premium for the empty risk.
It is also the lane most exposed to the port itself. When Durban’s container terminals slow down, the queue does not stay in the port — it backs up the N3, and a truck that was going to do a day’s turn does two.
The route
| km | Where | What it means |
|---|---|---|
| 0–23 | Johannesburg → Germiston → Alberton | Urban freeway. Leaving in peak costs more time than any other section |
| 53 | Heidelberg | Compulsory weighbridge — 53 km in, before you have settled into the trip |
| 117 | Villiers | Free State line; the long open middle begins |
| 265 | Harrismith | The standard break. Last substantial services before the escarpment |
| 304 | Van Reenen’s Pass | The descent off the Drakensberg — see below |
| 396–423 | Estcourt · Mooi River | Weighbridge and the Mooi toll plaza |
| 464–492 | Howick · Pietermaritzburg | Traffic thickens again; the last climb before the coast |
| 554–571 | Pinetown · Durban | The descent into the port, on a road carrying heavy commuter traffic |
Van Reenen’s Pass at 304 km

The N3 drops off the Drakensberg escarpment at Van Reenen’s Pass, 1 690 m, a little over halfway to the coast. Southbound you arrive at it laden, having run 300 km of mostly flat highveld, and the descent is long enough to boil a set of brakes that were fine all morning.
- Two arrestor beds — the lower at km 51.0S opposite the Pyramids Motel, the top at km 55.6S south of Windy Corner.
- 60 km/h limit for heavy vehicles.
- The beds are closed periodically for maintenance, and N3TC publishes those closures. Worth checking before the descent rather than discovering it during one.
Northbound the pass is a climb rather than a hazard — slow, and hard on cooling, but it does not end trips the way the descent can.
Heidelberg: the stop you cannot skip
Heidelberg, 53 km out of Johannesburg, is a compulsory weighbridge stop for heavy vehicles on the N3. Not a spot check — build the time into the schedule.
What it measures is not only your gross. A combination can be inside its permitted total and still be illegal because one axle group is over. Steering axles are capped at 7 700 kg, non-steering at 8 000 kg, dual-wheel axles at 9 000 kg; a dual-wheel tandem is 18 000 kg and a dual-wheel tridem is 24 000 kg, not 27 000. Loading nose-heavy or tail-heavy will fail you on distribution while your gross is perfectly legal — the detail is on our legal mass and dimensions page.
Mooi River, at 423 km, is the second weighbridge on the route.
The five toll plazas
| km | Plaza | Class 4 |
|---|---|---|
| 72 | De Hoek | R230 |
| 120 | Wilge | R304 |
| 324 | Tugela | R359 |
| 425 | Mooi | R324 |
| 545 | Mariannhill | R57 |
| Total, one way | R1 274 |
Three things that are not on that bill, and are commonly added by mistake:
- The Gauteng e-toll gantries. You pass several leaving Johannesburg. They were disconnected at 23h59 on 11 April 2024 and are not charged.
- Gosforth sits close to the route but is on the N17, not the N3.
- Ramp plazas — Bergville, Treverton, the Mooi ramp — are charged only if you use that on/off ramp, not on a through run.
What a leg costs
| Item | One way |
|---|---|
| Diesel — about 228 litres at the inland wholesale list price of R26.39/l | R6 027 |
| Tolls, Class 4 | R1 274 |
| Fuel and tolls | ≈ R7 300 |
Two things to be clear about. The 2.5 km/l is an assumption, not a measurement — your own figure is the one to use. And R26.39 is the wholesale list price, not a pump price: diesel is regulated up to the wholesale level in South Africa, but the retail margin is not, so what you actually pay depends on where and how you buy.
One detail specific to this lane: the coastal wholesale price is R0.75/l below inland. Filling in Durban rather than Gauteng saves about R450 on a 600-litre fill — which on a lane run repeatedly is a real number rather than a rounding error.
The round trip is where this lane is won
Fuel, driver, tyres, tolls and depreciation are effectively fixed per kilometre, so the round trip costs about R14 600 in fuel and tolls whether or not you have a load coming back. An empty return leaves the outbound load carrying all of it — double the cost per tonne moved.
The difference on the N3 is that a return load is genuinely findable, because the trade runs both ways. That makes an empty return here less excusable than on almost any other long lane in the country — and it is why operators who run this road well run it loaded in both directions rather than chasing a higher one-way rate.
The other long lane out of Johannesburg makes an instructive contrast: Johannesburg to Cape Town is more than twice as far but costs less in tolls — R1 115 against this route’s R1 274.
The coastal alternative to going inland runs on the N2: our Durban to Gqeberha corridor guide has the measured 941 km route, the single toll plaza at R162, and why the cheapest tolls in South Africa are still not the number that decides the month.
Running the full length instead? Our Johannesburg to Gqeberha corridor guide covers the 1 060 km lane — three toll plazas at R732, every rand of it paid before Bloemfontein.
Source and currency
Sources: distance and driving time computed on our own routing engine from the driven route. Toll tariffs are the SANRAL Class 4 schedule effective 1 March 2026 (3.12% increase, gazetted 5 February 2026); the plazas were identified from the route geometry, with ramp plazas, the defunct e-toll gantries and the N17’s Gosforth excluded. The R1 274 total independently matches the published Johannesburg–Durban Class 4 figure. Diesel is the Department of Mineral Resources and Energy wholesale list price for 50ppm, effective 5 August 2026. Axle limits are regulation 240 as reproduced in TRH 11 Figure 3.1. Van Reenen’s Pass detail is from N3TC.
Current as at 15 August 2026. Tolls change annually in March, diesel monthly on the first Wednesday.
Running the N3?
List your truck on the Kweli Load Exchange and set this corridor against it. You will see loads in both directions — which on this lane, as the numbers above show, is the whole game. See also our Beitbridge to Durban corridor, which continues this road north to the Zimbabwean border.
Kweli Load Exchange
Now find a load for your truck — or a truck for your load
Free for transporters and shippers. No commission, no subscription.
Local
and cross-border
See
who you are dealing with
R0
commission, always
List your truck and its corridors, or post a load. Your corridors decide which loads we show you first — they do not lock you out of the rest. Body, weight, fit, papers: we show them, and you decide.
WhatsApp-integrated · your number is your account. Nothing from an app store — you finish with your trucks and their corridors on the board.
New to Kweli? See what the network does → — load exchange, driver registry and the Pulse community.



