The town is served by six state-maintained routes. New Hampshire Route 10 is the main north–south highway through Haverhill, paralleling the Connecticut River. U.S. Route 302 enters from Vermont and passes east–west through Woodsville in the northern part of town, joining with Route 10 to head northeast to Bath and Littleton. New Hampshire Route 25 enters Haverhill from Piermont while co-signed with Route 10, splitting off by itself to the southeast in Haverhill Corner. New Hampshire Route 116 has its southern terminus at Route 10 in North Haverhill, and New Hampshire Route 135 has its southern terminus at Route 10 just south of Woodsville. A very short section of New Hampshire Route 112 passes through the northeastern part of town. Haverhill also has easy access to U.S. Route 5 via bridges in North Haverhill and Woodsville.
The town is served by six state-maintained routes New Hampshire Route 10 is the main north–south highway through Haverhill paralleling the Connecticut River US Route 302 enters from Vermont and passes east–west through Woodsville in the northern part of town joining with Route 10 to head northeast to Bath and Littleton New Hampshire Route 25 enters Haverhill from Piermont while co-signed with Route 10 splitting off by itself to the southeast in Haverhill Corner New Hampshire Route 116 has its southern terminus at Route 10 in North Haverhill and New Hampshire Route 135 has its southern terminus at Route 10 just south of Woodsville A very short section of New Hampshire Route 112 passes through the northeastern part of town Haverhill also has easy access to US Route 5 via bridges in North Haverhill and Woodsville