It currently runs for 350 miles (560 km) from Mocksville, at US 64/US 601 to Whalebone Junction in the town of Nags Head.
A 10 miles (16 km) stretch skirts the Great Dismal Swamp.
In the city, the route uses the name Stratford Road which is an arterial thoroughfare which enters into a busy commercial district passing by Hanes Mall and it passes two folded diamond junctions with Interstate 40 and the expressway Silas Creek Parkway (NC 67).
US 158 leaves the road to merge with the freeway Salem Parkway (US 421) for a short concurrency through the downtown area.
Just east of town, it leaves US 421 and turns roughly north, closely paralleling nearby US 311, heading into Walkertown where both routes intersect with the future Interstate 74, which is currently designated as NC 74, and NC 66.
Shortly after, it passes through the north part of Summerfield, intersecting Interstate 73 (which carries U.S. Route 220 along it).
From North Carolina Highway 168 (NC 168) eastward, it carries traffic from the Norfolk region to the Outer Banks.
Normally, the route is a four-lane undivided highway with a speed limit of 50 miles per hour (80 km/h) in Dare County, from its eastern terminus to the Wright Memorial Bridge.
Most of the route is otherwise a four-lane divided highway with a 55 miles per hour (89 km/h) speed limit until NC 168 (which carries traffic to Chesapeake, Virginia), where it turns left at an at-grade intersection.
It acts as a bypass route for the Virginia Dare Trail (NC 12), which runs parallel to US 158 to the east.
Between 1945-1949, US 158's western terminus moved to its current location at Main and Lexington Streets, in Mocksville; also in same time period, US 158 was moved onto new routing through Roxboro; its old alignment along Main Street became US 501A.
[4] In 1959, US 158 was moved onto new expressway between Stratford to Marshall and Cherry Streets, in Winston-Salem.
[7] In 1971, US 158 was placed onto the Yanceyville bypass; its old routing through the downtown area was partly replaced by NC 62, with Main Street downgraded to secondary road.
AASHTO approved the change on May 24 at the meeting of the Special Committee on U.S. Route Numbering in Waterloo, Iowa.
[13] U.S. Route 117 (US 117) was established in 1926 to run for 159 miles (256 km) from Norlina, through the towns of Warrenton, Roanoke Rapids, and Murfreesboro; from there it went north into Virginia through Franklin, Suffolk, Portsmouth, and Norfolk to Virginia Beach.
U.S. Route 158 Alternate (US 158A), was established in 1948, two years after mainline US 158 bypassed north of Gatesville.