NY 228 begins at an intersection with NY 224 in Odessa. It progresses northward from NY 224 as the two-lane Mecklenburg Road, crossing nearby railroad tracks and entering a more pronounced rural area north of town. The road gradually curves to the northeast, passing by brief wooded areas on its way into the hamlet of Catharine, where NY 228 intersects with County Route 10. At this point, NY 228 turns northward to follow CR 10's right-of-way out of the hamlet. Just outside Catharine, NY 228 begins to parallel the western shoreline of nearby Cayuta Lake, which ends about north of the community. After Cayuta Lake, the road winds its way northward along the base of a largely undeveloped valley to reach the town of Hector and its hamlet of Smith Valley. Here, the valley and NY 228 curve northeastward, following Taughannock Creek through eastern Schuyler County. The route remains on a northeast–southwest alignment to the hamlet of Mecklenburg, where the highway passes some residences ahead of intersections with CR 6 and NY 79. NY 79 and NY 228 overlap for one block before NY 228 splits to the northeast at the northern edge of the community. The overlap with NY 79 is the busiest section of NY 228, serving an average of 2,556 vehicles per day as of 2009. Outside of Mecklenburg, the road crosses more rural areas in the town of Hector as it heads generally northeastward along Taughannock Creek and approaches the Tompkins County line. The route pulls to within a tenth-mile of the line at the hamlet of Perry City, where NY 228 ends at an intersection with NY 227. Also present at the junction is CR 3, a short route leading east to CR 142 at the Tompkins County line. NY 227 enters the intersection from the west; however, it leaves to the north on NY 228's right-of-way.
History
In 1911, the New York State Legislature created Route 46, an unsigned legislative route extending from Coopers Plains in Steuben County to Trumansburg in Tompkins County via Watkins Glen. East of Watkins Glen, Route 46 proceeded generally northeastward through Burdett, Reynoldsville and Mecklenburg on its way to Trumansburg. On March 1, 1921, the Route 46 designation was reassigned to another highway in Allegany and Steuben counties as part of a partial renumbering of the legislative route system. The section of pre-1921 Route 46 between Mecklenburg and Perry City went unnumbered until the 1930 renumbering of state highways in New York, when it became part of NY 79. At Mecklenburg, NY 79 connected to NY 228, another route assigned in the renumbering that ran southwest from Mecklenburg to NY 224 in Odessa. The road that became NY 228 was state-maintained south of Cayuta Lake by 1926, while the remainder of the highway was rebuilt as a state road. NY 228 went unchanged until the early 1960s when NY 79 was rerouted to follow a previously unnumbered highway west of Mecklenburg instead. The former routing of NY 79 from Mecklenburg to Perry City became an extension of NY 228.