SR-31 begins at a junction with US 11W and SR-1 in Mooresburg. The highway heads north into rural Hawkins County, passing through the community of Spruce Pine. While crossing over Clinch Mountain, the route crosses into Hancock County. 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 route then enters Sneedville, where it terminates at SR-66, which connects to SR-33 and Sneedville via a bridge.