The highway runs from U.S. Route 11W in Mooresburg north to SR 66 in Sneedville.
SR 31 begins at a junction with US 11W/SR 1 in Mooresburg.
The highway heads north into rural Hawkins County, passing through the community of Spruce Pine.
[3] Past the mountain ridge, the highway intersects SR 131 in Treadway and briefly becomes a four-laned undivided Highway and continues northward through Luther and Duck Creek before turning northeast along the Clinch River.
The entire route of SR 31 is a narrow rural 2-lane mountain highway.