The R40 has its southern terminus on the Swaziland border at the Bulembu Border Post. From the post, it heads briefly west through the Songimvelo Game Reserve before winding its way north. In the Mountainlands Nature Reserve, it turns north-west. Leaving the reserve it enters the northern outskirts of Barberton. At an intersection with Sheba Rd, it continues west, cosigned with the R38 as Pride of de Kaap Street. After crossing the Queen's River north west of Barberton, the R38 splits at a t-junction and heads south-west while the R40 now heads northwards and eventually skirts the eastern boundary of the Barberton Nature Reserve. It eventually enters the southern outskirts of Nelspruit as Madiba Drive. Madiba Drive continues northwards through Nelspruit crossing the east-west main street of Samora Machel Drive before crossing over the Crocodile River on the towns northern boundary leaving in a north-easterly direction. As it enters White River in a north-easterly direction, it is intersected from the left with R537. The R40 continues through the town as its main road called Chief Mgiyeni Khumalo Drive. Midway through the town, the R40 turns north through the CBD as Theo Kleynhans Street. North of the town, it passes through a large roundabout intersecting the R538 that heads east while the R40 continues north. It passes on its winding northward journey, the Klipkopjes Dam to the west and later the Da Gama Dam to its east and where the road takes a north-easterly direction and eventually t-junctions with the R538. At this intersection it heads north cosigned with the former as it enters Hazyviewfrom the south. Leaving Hazyview it heads northwards crossing the Sabie River and later the Marite River. On its northward journey it passes between the Injaka Dam to the west and the Bosbokrand Nature Reserve to the east. It continues northwards passing an area of many small villages and hamlets.
Limpopo
Crossing into Limpopo Province it crosses the Klaserie River and intersects with the R531 where it turns north passing through private game reserves and eventually enters Hoedspruit from the south. Passing through Hoedspruit, it leaves in a north-westerly direction passing through more private game reserves before crossing the Olifants River and shortly thereafter the R530 intersects as a t-junction near Mica. Changing direction to the north-east, it eventually crosses the Ga-Selati River and after a short distance, the R40s northern terminus is a t-junction with the R71, with the latter entering Phalaborwa from the west after 5km.