Iowa Highway 9

Iowa Highway 9 is the most northern of Iowa's east–west highways, traversing the entire northern tier of counties. It runs from the eastern terminus of South Dakota Highway 42 at the South Dakota border east of Sioux Falls, South Dakota near Benclare, to the Wisconsin border at Lansing where it continues as Wisconsin Highway 82. It is largely rural in character, bypassing any large city. Making a few dips north and south, the highway largely follows a very straight east–west alignment.

Northwest Iowa
Iowa 9 enters Iowa from South Dakota as a continuation of South Dakota Highway 42. At the same place the highway passes by Grand Falls Casino. The highway's entry point is 4+1/2 mi east of Iowa's northwestern corner. It heads south and east through Lyon County until it reaches Larchwood. There, it turns south for about a mile (1.5 km) where it meets the northern end of Iowa 182. From here, the highway runs due east for 12 mi. During this straight stretch, it passes just to the south of Lester. Just west of Rock Rapids, it meets U.S. Highway 75 (US 75). The two routes overlap one another for 1 mi as the travel through northern Rock Rapids. US 75 splits away to the south and Iowa 9 heads into downtown Rock Rapids, where it crosses the Rock River.

East of Rock Rapids, the highway follows a section line that is 4+1/2 mi south of the Minnesota state line. Halfway between Rock Rapids and Little Rock, Iowa 9 intersects the northern and southern legs of County Road L14, which were previously Iowa 91 and Iowa 339, respectively. The highway passes Little Rock to the south and enters Osceola County. It continues east for 7+1/2 mi until it reaches an interchange with Iowa 60 north of Sibley, that highway's final exit before entering Minnesota. Shortly thereafter, Iowa 9 meets US 59. The highway eases to the south as it follows the section line. It passes to the north of Ocheyedan and to the south of Rush Lake and Harris.

As Iowa 9 enters Dickinson County, it goes south of Silver Lake and Lake Park. It crosses the western and eastern branches of the Little Sioux River, which converge just south of the highway. The intersection with Iowa 86 marks Iowa 9's entry into the Iowa Great Lakes region. It becomes a four-lane divided highway for a short distance as it curves slightly to the south. In northwestern Spirit Lake, Iowa 9 is joined by US 71 from the south and they travel east through the downtown area. The highways turn sharply to the northeast in order to cross a narrow portion of East Okoboji Lake. They briefly follow the shore before turning back to the east and exiting Spirit Lake. 4 mi east of town, US 71 turns to the north and Iowa 9 continues towards Superior. Iowa 9 enters Emmet County and curves to the southeast as it approaches Estherville. There, it crosses the West Fork Des Moines River and Iowa 4. It continues due east for 15 mi. Just west of Armstrong, it dips to the south and enters the southern part of town. It is overlapped by Iowa 15 for two blocks, a mere 600 ft.

North Central Iowa
In Kossuth County, Iowa 9 passes through Swea City. East of Swea City, it is joined by U.S. Route 169. It passes north of Lakota, where US 169 turns north. Travelling through Buffalo Center in Winnebago County, the route takes a short southerly dip to pass northeast of Thompson, continues east, and then south overlapping U.S. Route 69 to the northern edge of Forest City where it again turns east. In Worth County, it travels past the northern edges of Fertile and Hanlontown, where it soon crosses Interstate 35. East of I-35, it passes through the south side of Manly.

In Mitchell County, it makes a straight run to and through Osage, where it begins a concurrence with U.S. Route 218. East of where US 218 turns south, Iowa 9 swings back north and resumes going east to Riceville, crossing the Wapsipinicon River in the process.

Northeast Iowa
In Howard County, the highway makes a transition into the Driftless Area of Iowa, with progressively more rugged terrain evident as one travels east. West of Cresco, and south of Lime Springs, it crosses U.S. Route 63 before going through Cresco. In the process, it crosses two tributaries of the Turkey River. In Winneshiek County, it runs southeasterly, straightening out to go through Decorah in the valley of the Upper Iowa River. In Decorah, it crosses U.S. Route 52. It again takes a southeasterly drift. In Allamakee County, the highway becomes crooked. Just east of the county line, Iowa Highway 51 meets its northern terminus. Running south of Waukon, it then turns north through Waukon, briefly joined by Iowa Highway 76. In the northern part of Waukon, it curves north and east, into Lansing, through the valley of Clear Creek and downtown Lansing. Just before crossing the Mississippi River, it meets the southern terminus of Iowa Highway 26. It then turns onto the Black Hawk Bridge, where it joins Wisconsin Highway 82.