[1] Its north-western end is in the village of Setlagole, North West where it originates from the N18.
Heading south-east, it reaches Delareyville where it crosses the N14 at a staggered junction.
From here, it takes a more east–west route to Ottosdal, where it intersects the R505.
The next town it passes through is Hartbeesfontein where it meets the R503 again at a staggered junction.
It continues in an east–west direction, terminating at a three-way intersection with the north–south R30 between Klerksdorp and Ventersdorp.