Route 22 begins in downtown Beverly, where it intersects Cabot Street (Route 1A) and Water Street (Route 127). Route 22 proceeds along Essex Street, heading northward out of the downtown area. Route 22 crosses Route 128 at 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. Route 22 ends at Route 133 in downtown Essex, near the head of the Essex River.