NY 91 begins at an intersection with NY 13 at the eastern end of the hamlet of Truxton. NY 91 proceeds north across and along Labrador Creek, crossing a junction with the terminus of County Route 151. Paralleling Labrador Creek and winds northward through the town of Truxton as a two-lane rural roadway, crossing northeast across the creek near Shackham Road. Turning northwest through the Labrador Hollow Unique Area, NY 91 begins paralleling the Labrador Pond and crosses the county line from Cortland County to Onondaga County. Now in the town of Fabius, NY 91 continues north past Labrador Crossover. The rural roadway continues northeast through the town and soon becomes a local roadway along the fields in Onondaga County. Now entering the hamlet of Apulia, NY 91 reaches a junction with NY 80. NY 91 and NY 80 form a concurrency through Fabius, crossing a junction with the southern terminus of Berwyn Road The route remains rural as it runs eastward past the junction with Swift Road. NY 80 and NY 91 enter the village of Fabius. Now known as Main Street, the two-lane road enters the village to the west, and at the junction with Mill Street, where NY 91 turns north and leaves out of the village. Continuing through the town of Fabius, NY 91 remains the two-lane rural roadway, turning westward at a junction with Cemetery Road. This western stint is short, with NY 91 turning north again at a junction with the eastern terminus of Chase Road. Now in the town of Pompey, NY 91 continues north into the hamlet of Pompey. In the center, NY 91 reaches a junction with US 20 and Cherry Street. Through downtown Pompey, the route remains primarily residential, soon leaving the hamlet. Continuing northwest through the town of Pompey, the route runs along the northeastern edge of the Pompey Golf Club and soon reaches the Jamesville Beach County Park. Running northwest, NY 91 runs just east of the Jamesville Reservoir, soon reaching the hamlet of Jamesville. Passing northbound,. NY 91 and CR 2 parallel each other along Butternut Creek. A short distance later, both routes reach respective junctions with NY 173 in the town of De Witt. This junction marks the northern terminus of NY 91.
History
When NY 91 was assigned as part of the 1930 renumbering of state highways in New York, it was substantially longer than it is today. NY 91 originally began at NY 26 in Cincinnatus and followed Taylor Valley Road and Cheningo Road through the Truxton hamlet of Cheningo to the hamlet of Truxton, where it joined its modern alignment and proceeded north to Jamesville. From there, the route continued north past Jamesville to NY 31 in Bridgeport by way of overlaps with NY 173 and US 11 through downtown Syracuse and what is now NY 298 from Syracuse to Bridgeport. NY 91 was truncated southward to the intersection of US 11 and NY 173 west of Jamesville and eastward to its current northern terminus at Jamesville at some point between 1935 and 1938. In the late 1930s, the route was truncated northward to begin in Cheningo. The former route to Cincinnatus on Taylor Valley Road was designated as CR 600 by 1974. NY 91 was truncated again on April 1, 1981, when ownership and maintenance of the portion of the route south of NY 13 in the hamlet of Truxton was transferred to Cortland County as part of a highway maintenance swap between the county and the state of New York. While NY 91 was cut back to the eastern terminus of its then-overlap with NY 13, the former routing of NY 91 south of Truxton to Cheningo on Cheningo Road was redesignated as CR 600A.