The entire route spans only two counties in the state: Surry and Stokes.
It intersects NC 18's eastern terminus before making a U-turn to the north and then continuing southeast.
The route then continues to the northeast and then intersecting the western terminus of NC 704 in Francisco before heading southeast.
As it enters town, it reaches its eastern terminus at US 311 while the road continues south carrying the US 311 designation through downtown.
The highway then turned southeast, travelled through Danbury and Walnut Cove, before ending at NC 897 in Walkertown.
[4] By 1926, NC 89 was removed from its routing between Walnut Cove and Walkertown, eliminating the highway in Forsyth County.
[9] The most recent change to the routing of NC 89 occurred on June 27, 1997 when the North Carolina Department of Transportation (NCDOT) removed the highway from Pine Street between Independence Boulevard and Renfro Street.