SR 138 begins at an intersection with US 1 (Mecklenburg Avenue) in the eastern end of the town of South Hill. This intersection is just west of US 1's partial cloverleaf interchange with I-85. SR 138 heads north as two-lane Union Mill Road, which exits the town of South Hill and leaves Mecklenburg County at its bridge over the Meherrin River. The state highway continues through Lunenburg County as South Hill Road. At Lafoons Corner, SR 138 intersects SR 137 (Dundas Road). The two state highways cross over an abandoned railroad grade and curve northwest to the town of Kenbridge, where they continue as 5th Avenue. SR 138 reaches its northern terminus and SR 137 has its western terminus at the highways' intersection with SR 40 (Broad Street) in downtown Kenbridge.