North Dakota Highway 18 starts traveling south at the Canada/United States border south of Gretna, Manitoba. One mile south of the border, the highway crosses the Pembina River and enters Neche. Thirteen miles south of Neche the route begins a concurrency with ND 5. The two routes head west for three miles, then south for one more before entering the city ofCavalier. The ND 5 concurrency ends in Cavalier and ND 18 continues to head south. Thirteen more miles south of Cavalier, ND 18 intersects with ND 66. The highway leaves Pembina County and enters Walsh County four miles south of this intersection. Just south of the county line is the small city of Hoople, which ND 18 passes just east of. About eight miles south of here, ND 18 forms a short, one-mile concurrency with ND 17, throughout which both highways travel south. The route travels about halfway between the larger cities of Grafton and Park River. Fourteen miles south of the southern end of the ND 17 concurrency, ND 18 enters Grand Forks County. About three miles into Grand Forks County, the route passes east of Inkster. Fourteen miles south of Inkster, ND 18 intersects with US 2, a major east-west route of the northern United States. Two miles south of this intersection, ND 18 reaches the city of Larimore. Twelve miles south of Larimore, the highway begins another concurrency, this one with ND 15. The routes travel east during this concurrency, passing just north of Northwood. After traveling east for eight miles, the concurrency ends and ND 18 travels south for five miles before entering Traill County. ND 18 enters Hattontwo miles south of the county line. The highway travels south for eight miles before beginning a concurrency with ND 200. The highway travels south for a mile, east for a mile and a half, southeast for a mile, and east for another mile before entering Portland. The highway travels east for a mile before entering Mayville. In Mayville, the concurrency with ND 200 ends and ND 18 begins traveling south once more. The route heads south for ten miles and then east for five before entering Blanchard. Eight miles south of Blanchard, ND 18 enters Cass County. In Cass County, ND 18 travels south for three miles before entering Hunter. Six miles farther south, the highway heads through Arthur. Fourteen miles south of Arthur, the route turns east and enters Casselton. Turning south again, ND 18 travels for two miles before sharing an interchange with Interstate 94 and US 52. Nine miles south of this interchange, the road heads west for a mile and then south for six miles to enter Leonard. Two miles south of Leonard, ND 18 begins a concurrency with ND 46 along the Cass-Richland county line for five miles. After this concurrency, the highway heads south into Richland County. Thirteen miles south of the county line, ND 18 serves as the eastern terminus of ND 27. Twelve miles south of this intersection, the highway enters Wyndmere. Directly south of Wyndmere, the road has a junction with ND 13. Seven miles south of the ND 13 intersection, ND 18 turns west for a mile, then south for five more before entering Lidgerwood and beginning a concurrency with ND 11. The routes head east and south through Lidgerwood, then east for two miles. The concurrency ends two miles east of Lidgerwood and ND 18 continues to head south. Nine miles south of the end of the ND 11 concurrency, ND 18 reaches the South Dakota border and is continued farther south as South DakotaHighway 25.
History
North Dakota Highway 18, like many other North Dakota state highways, was put into alignment in 1939. It has remained in its original alignment since then.