SR 55 begins at the West Virginia state line at the highway's summit of
Great North Mountain. The highway continues west toward Wardensville as US 48 and WV 55. SR 55 heads northeast as two-lane undivided Wardensville Pike through
George Washington National Forest and descends the mountain to the hamlet of Star Tannery, where the highway leaves
Frederick County by crossing Cedar Creek. The state highway, now named John Marshall Highway, passes around the northern end of Little North Mountain near the community of
Wheatfield, where the highway turns south. SR 55 passes through the
Shenandoah County communities of
Lebanon Church and
Clary on its way to a
diamond interchange with I-81, which serves as US 48's eastern terminus. SR 55 continues south into the town of Strasburg, where the highway has a short concurrency with
US 11 on Massanutten Street and passes under
Norfolk Southern Railway's
B-Line, which it crosses several more times due to the B-Line’s similar route, ending in Manassas. In the center of the town, US 11 and SR 55 head west and east, respectively, on King Street. The state highway passes under the B-Line again before reaching the eastern edge of town, where the highway becomes Front Royal Road and makes a curve to the south. SR 55 passes through an
S-curve as it crosses the
North Fork Shenandoah River into
Warren County. Just north of
Signal Knob, the northernmost peak of
Massanutten Mountain, SR 55 passes to the south side of the B-Line. The highway, now named Strasburg Road, crosses Passage Creek on its way to the
Riverton area of the town of Front Royal at the confluence of the North Fork and
South Fork Shenandoah River to form the
Shenandoah River. In Riverton, SR 55 turns south onto Shenandoah Avenue and joins
US 340 and
US 522 in a triple concurrency. The four-lane undivided highway crosses the South Fork and passes through a pair of right-angle curves onto 14th Street and then Royal Avenue. Just north of downtown Front Royal, US 522 turns southeast onto Commerce Street; SR 55 and US 340 continue south as a two-lane undivided street through downtown. At the southern end of the town, US 340 continues south while the state highway turns east onto four-lane undivided South Street, gaining a
center left-turn lane further east. East of US 522, SR 55 reduces to two lanes and leaves the town of Front Royal as John Marshall Highway. The state highway passes under the B-Line just before its junction with
SR 79 (Apple Mountain Road), a very short connector with I-66. SR 55, I-66, and the B-Line follow Manassas Run to the community of
Linden, where the thoroughfares intersect the
Appalachian Trail, cross
Blue Ridge Mountain at
Manassas Gap, and enter
Fauquier County. SR 55 continues to parallel I-66 and the B-Line through the valley of
Goose Creek, where they pass through
Markham. The two highways leave Goose Creek and the B-Line west of
Delaplane, where SR 55 veers away from I-66 temporarily and joins
US 17 (Winchester Road) in a concurrency before the two highways merge onto I-66 near
Oak Hill, the country estate of
John Marshall. The highways are directly paralleled on the north by the highway's old alignment, Grove Lane. Just west of the town of Marshall, SR 55 exits I-66 at a diamond interchange onto Free State Road. SR 55, which is concurrent with
US 17 Business, turns east onto Main Street at Grove Lane. In the center of town, US 17 Business heads south on Winchester Road opposite SR 710 (Rectortown Road) while SR 55 continues east on Main Street, which intersects the B-Line before leaving town. SR 55 continues east and becomes the Main Street of the town of The Plains, where the highway meets the B-Line at another grade crossing and intersects the northern end of
SR 245 (Old Tavern Road). SR 55, I-66, and the B-Line follow
Broad Run through the
Bull Run Mountains at
Thoroughfare Gap into
Prince William County. SR 55 crosses the B-Line again at the hamlet of
Thoroughfare. The state highway intersects
US 15 (James Madison Highway) just west of the town of Haymarket; in that town the highway is known as Washington Street. SR 55 continues southeast to Gainesville, where the highway reaches its eastern terminus. As of June 2011 SR 55 has been re-routed over the old Gallerher Road, and is now called John Marshall Highway. The US 29–SR 55 junction is the focus of a long-term project to provide grade separations between the B-Line (the last crossing by SR 55) and both the John Marshall Highway and US 29, and to construct an interchange between US 29, SR 55, and
SR 619 (Linton Hall Road). The
single-point urban interchange was completed in 2015. ==Major intersections==