The R29 begins in Johannesburg, at a junction with the R41 Road in the Westgate suburb, as Marshall Street eastwards and Anderson Street westwards. The R29 continues eastwards as John Page Street by way of a right turn after the Jeppestown suburb. Shortly after, it becomes Main Reef Road. After Cleveland, the route continues by way of a right turn at Kraft Road. North of Germiston Central in the City of Ekurhuleni Metropolitan Municipality, the R29 continues by way of a right turn at Shamrock Road, where it meets the southern terminus of the M57 Municipal Route. At the next junction, the R29 continues eastwards by way of a left turn towards Boksburg. At Boksburg North, it intersects with the R21 and continues as Cason Road, up to its junction with the M43 road, where it enters Benoni. Through Benoni Central, It is Princess Avenue eastwards and Ampthill Avenue westwards , up to Kleinfontein, where it is named Main Reef Road again and proceeds by way of a right turn to be cosigned with the M45 Municipal Route. After Mackenzie Park, north of Brakpan, it becomes its own road eastwards while the M45 continues southwards to Brakpan Central. Just after, the R29 continues by a right turn at Modder Road eastwards. South of Kingsway, the R29 joins the R51 Road southwards for 5 km before splitting in the vicinity of Springs. The R29 continues eastwards and intersects with the R555 in the Old Springs suburb before becoming two one-way streets southwards and two one-way streets eastwards. It makes a 38 km journey eastwards to Devon, intersecting with the R42 midway between Springs and Devon. From Devon, it continues eastwards for 16 km to Leandra in the province of Mpumalanga. The R29 is parallel to the N17 National Route from Springs to Leandra.
Mpumalanga
The R29 used to end in Leandra by the R50 Road Junction, with the continuing straight road eastwards being part of the N17 National Route. But Today, the N17 East is now a continuous straight Highway from its primary junction with the R50 south of Leandra, letting the continuous road from the R29 & R50 junction eastwards also remain with the R29 designation. The R29 remains following and being an alternative route to The N17 Highway up to a point north-east of Evander and north-west of Secunda. From The R50 junction in Leandra, the R29 journeys eastwards for 20 km to the town of Kinross. After Kinross, it goes for another 10 km to mark its end at a point north-west of Secunda, where it meets the R580 Road and the N17 Highway.
The road from the Johannesburg Stock Exchange to Ormonde, named Simmonds Road closer to Johannesburg CBD and Booysens Road through Booysens up to the M1 Highway, is labelled as R29 in some parts of the road. The road is officially designated as the M27, but some areas have it indicated as the R29 Road. On Johannesburg street signs, both the M27 and R29 symbols show on the street, from the Simmonds Road junction with Anderson Street south to Booysens. The signs suggest that the R29 does not end in Johannesburg Central, but instead becomes Simmonds Road/Booysens Road at their intersection and concludes at the junction with the M1 Highway, with the section Of Anderson Street from the Simmonds Avenue junction to the Main Reef Road junction west of Johannesburg Central being part of the R41. Also, the R553 Road connecting Johannesburg South with Eldorado Park may have been designated as the R29 in the past before the reformation of the South African Road System, as there is a road sign at its intersection with the M68 near Southgate where it is designated as the R29. It may suggest that the old R29 road passed through this section of Johannesburg before reformation of the South African Road System.