M31 (Johannesburg)

The M31 is a metropolitan route in the City of Johannesburg, South Africa. The road connects the southern suburbs of Alberton with Johannesburg's northern suburbs. The route's eastern bypass in the Johannesburg CBD connects the M2 motorway at the Heidelberg Interchange with M1 North motorway in Houghton and then the route follows the M1 motorway northwards until the M31 ends in Bramley.

Route
The M31 begins as Ring Road West in Raceview, Alberton, at a junction with the R554/R103 Heidelberg Road. The Ring Road West heads northwards, forming a semi-ring road on the western side of the Alberton CBD before leaving it and joining the Ring Road East. Ring Road East, which passes through the eastern side of the Alberton CBD, is also designated as the M31. At the merge of Ring Road West and Ring Road East north of the Alberton CBD, the M31 continues north as Voortrekker Road, where it interchanges and crosses the N12 freeway (Johannesburg Southern Bypass).

It changes its name to Heidelberg Road and meets the M38/M46 South Rand Road/Rand Airport Road in Tulisa Park. Continuing northwards, at Elandspark, it interchanges and crosses the N17 freeway (eastbound only) where it continues north-west through City Deep. Passing the Joburg Market, it crosses the M19 Marjorie Road and Vickers Street. Continuing north-west over a railway line and past the Kaserne railway depot, it reaches the Heidelberg Interchange on the east–west M2 motorway at the southern end of the Johannesburg CBD.

The M31 passes under the M2 and becomes two one-way streets (Joe Slovo Drive northwards and Sivewright Road southwards) and rises to become an overpass in the City & Suburban/Marshalltown area, heading north on the eastern side of the Johannesburg CBD, first crossing over the R29 (Marshall Street and Anderson Street), then crossing over the R24 (Commissioner Street and Albertina Sisulu Road). Here it turns north-east into Doornfontein, where the overpass ends and the route returns to street level. As it reaches the outskirts of the University of Johannesburg (Doornfontein campus) it again rises to become an overpass, crossing Charlton Terrace, and enters Berea and Yeoville (where it stops being one-way streets), continuing north to meet Louis Botha Avenue (M11).

It crosses under Louis Botha Avenue in Upper Houghton, immediately forming a short hairpin bend to the west and reaches Houghton Drive. At Houghton Drive the route turns north on this road passing through The Wilds Municipal Nature Reserve to an intersection. The road north accesses the M1 motorway but the M31 turns east as Houghton Drive and then immediately turns north as West Street, where it reaches a junction with 1st Avenue in Houghton Estate. This 1st Avenue gives access to the M1 south motorway. Crossing 1st Avenue, the M31 continues north to where the Riviera Road (M16) intersects it from the west and that road gives access to the M1 north. Continuing north, the M31 reaches 11th Avenue (R25) and that road gives access to the M1 south. Crossing 11th Avenue it continues north until it reaches Glenhove Road (M20) in Oaklands. Here the route turns east as Pretoria Street and then immediately turns north-east as Atholl Oaklands Road. At its M1 intersection in Abbotsford, Atholl Oaklands Road heads north across the motorway while the M31 splits, continuing north-east as Scott Street through Waverley until it ends at an intersection with Corlett Drive (M30) in Bramley.