Located entirely in Rutland County, it runs from the New York state line in Wells to Furnace Street (VT 30) in Poultney.
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.