Route 22 begins in downtown Beverly, where Route 1A turns off of Cabot Street onto Rantoul Street. Route 22 continues along Cabot Street, concurrent for its first two blocks with Route 127, until it turns onto Essex Street, heading northward out of the downtown area. Route 22 crosses Route 128 at Exit 18. It then winds northward into Wenham, making two turns before quickly entering Hamilton after only a mile. 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.