US 221 and US 58 exit the town as Grayson Parkway, which expands to a four-lane divided highway just west of its intersection with SR 274 (Riverside Drive).
US 221 and US 58 pass the southern end of New River Trail State Park before crossing Chestnut Creek and becoming a five-lane road with a center left-turn lane.
Highways enter the town of Hillsville as Stuart Drive, a three-lane road with center turn lane.
US 221 crosses the Little River and passes through Copper Hill before entering Roanoke County at Adney Gap.
The U.S. Highway heads north through the Wasena neighborhood before crossing the Roanoke River and Norfolk Southern Railway's Altavista District.
Southbound US 221 follows Franklin Road to the northeast while northbound US 221 continues on Elm Avenue to Jefferson Street, which carries SR 116 in both directions.
[1][2] US 221 and SR 116 head north past the Patrick Henry Hotel to Franklin Road, where the highways turn east.
The highways pass the Roanoke Civic Center before intersecting Orange Avenue in the middle of the Williamson Road neighborhood.
[1][2] US 221, US 460, and US 220 Alternate head east as a six-lane divided highway that passes under Norfolk Southern Railway's Roanoke District and intersects SR 115 (Hollins Road).
The road reduces to four lanes at Tinker Creek and becomes named Challenger Avenue on re-entering Roanoke County.
US 220 Alternate turns north onto Cloverdale Road in the community of Bonsack just west of where US 221 and US 460 enter Botetourt County.
Highways diverge: US 460 continues along its bypass of Bedford while US 221 and US 460 Business head toward the downtown area along two-lane Blue Ridge Avenue.
The three highways pass the Anne Spencer House before US 221 reaches its northern terminus at a cloverleaf interchange with US 29 Business (Lynchburg Expressway).