The entire route is located within Essex County.
Route 22 begins in Beverly at the Northern end of the Essex Bridge, at the intersection of Cabot Street, Rantoul Street (Route 1A) and Water Street (Route 127).
Route 22 proceeds northward along Cabot Street into downtown Beverly, where it forks off onto Essex Street, and heads northward out of the downtown area and past the Montserrat MBTA commuter rail station.
Route 22 crosses Route 128 at exit 47 (formerly exit 18), and then winds northward into Wenham, making two turns before quickly entering Hamilton.
It then makes another turn in Hamilton, onto another Essex Street, which in turn crosses into the town of Essex north of Chebaco Lake.