NY 156 begins at an intersection with NY 443 in the hamlet of Berne, in the namesake town. Winding north through the town of Berne as Berne-Altamont Road, NY 156 soon crosses into the town of Knox as a two-lane rural roadway. The route soon intersects with County Route 254. After less than a block, CR 254 forks northeast along Pleasant Valley Road. Winding north through Knox, NY 156 reaches a junction with CR 255, where it turns eastward and soon northeast along Beaverdam Creek past the Town of Knox Parklands. NY 156 reaches the hamlet of Knox, where it runs as a two-lane residential street through the center of the community. In the center of Knox, the route intersects with CR 252. Leaving the hamlet of Knox, NY 156 passes Knox Cemetery and parallels Beaverdam Creek and soon turning southeast. Now running southeast through Knox, the route crosses the southern terminus of CR 260 and the eastern terminus of CR 254. After a turn to the northeast, NY 156 intersects with the western terminus of NY 157. Continuing northeast through Knox, NY 156 passes the Altamont Reservoir, passing multiple reservoir-side residences. Remaining a mix of rural and residential, NY 156 winds east along server curves through Knox, soon crossing into the town of Guilderland. At the junction with Helderberg Avenue, the route turns north and bends around a long curve into the village of Altamont. Now known as Main Street, NY 156 turns south on Altamont Boulevard, while Main Street connects to NY 146 via NY 912C, an unsigned reference route. Along Altamont Boulevard, NY 156 runs as a two-lane residential street, paralleling a railroad line into the town of Guilderland, changing the monikers of Altamont-Vorheesville Road. Changing to a more rural roadway, NY 156, bending southeast through Guilderland. NY 156 begins crossing through a more densely wooded area of Guilderland, soon reaching the junction with Gardner Road, where it is more residential. The route soon crosses into the town of New Scotland, changing names to Altamont Road, reaching a junction with CR 307. Running east through New Scotland, NY 156 crosses the southern end of CR 202 before turning southeast once again. Crossing through multiple farms, NY 156 winds east into the residential section of the village of Voorheesville. Still known as Altamont Road, NY 156 bends southeast past a junction with CR 208. A short southeastern bend later, NY 156 junctions with NY 85A. This junction serves as the eastern terminus of NY 156.
History
NY 156 was assigned as part of the 1930 renumbering of state highways in New York to what is now NY 146 from Gallupville to Altamont and its modern alignment from Altamont to Voorheesville. The alignments of NY 146 and NY 156 west of Altamont were flipped, placing both routes on their modern alignments. NY 156 originally followed NY 85A southeastward from Voorheesville to New Scotland, where both routes ended at NY 85. The overlap between the two routes was eliminated when NY 156 was truncated to Voorheesville at some point between 1950 and 1965.