ND 23 has its western terminus at a junction with US 85 and ND 200 in Watford City. The route starts concurrently with U.S. Route 85 Business for a short distance. It starts running north for less than a mile, then east outside of the city limits. After leaving Watford City, the route intersects with the first section of ND 1806, to which it serves as the southern terminus. The route then turns due north for about six miles at an intersection with ND 73. ND 23 then runs north through the small community of Keene. After turning eastward once more, the route shares another intersection with ND 1806 serving as the southern terminus of its second section. ND 23 intersects with ND 22 before leaving McKenzie County and entering Mountrail County by crossing Lake Sakakawea on the Four Bears Bridge. Just after entering Mountrail County, ND 23 has a junction with ND 1804 in New Town. This is the western end of a concurrency with ND 1804 in which ND 1804 is unsigned. Heading eastward seven more miles, the route serves as the southern terminus of ND 8. Just north of Parshall the route serves as the northern terminus of ND 37. This junction is also the eastern end of the route's concurrency with ND 1804. The route then runs three miles south of Plaza before entering Ward County. Two miles east of the county line, ND 23 runs just north of Makoti. The highway then serves as the northern terminus of ND 28, a short route that connects ND 23 to the small city of Ryder. Ten miles north of Max and sixteen miles south of Minot, ND 23 intersects US 83 before entering McHenry County. In McHenry County the highway travels east for about fifteen miles before meeting its eastern terminus south of Velva at ND 41.
Suffixed routes
ND 23 has three suffixed routes.
ND 23 Bus. is a business route of ND 23 in Watford City in McKenzie County. The route intersects ND 23 at each end and runs concurrent with US 85 Bus. for part of its length.
ND 23A is an alternate route of ND 23 in Watford City in McKenzie County. The route intersects ND 23 Bus. and US 85 Bus. at its western terminus and ND 23 Bus. at the eastern terminus.
ND 23B Truck is a truck route of ND 23 by New Town in Mountrail County. The route intersects ND 1804 at its western terminus and ND 23 at the eastern terminus.