VT 31 begins at the New York state line in Wells, where it connects to Washington County's County Route 25. The county road continues south to New York State Route 149 in Granville. VT 31 heads north-northeast, roughly parallel to the New York – Vermont border, and to the west of the Taconic Mountains. The highway passes Lake St. Catherine as it heads towards South Poultney. Throughout the road's path, it crosses several creeks, including the Poultney River. Shortly after crossing over the river and entering the village of Poultney on Grove Street, VT 31 terminates at an intersection with VT 30 (Furnace Street). Grove Street continues north of this point as VT 30.