There are
1,246 mi
from Haverhill, MA to Troy, MO
That's the driving distance. It would take 23 hours 44 mins to go from Haverhill, Massachusetts to Troy, Missouri.
The flight distance (direct flight from Haverhill, MA to Troy, MO) is 1,069.59 mi.
1,246 mi = 2,005.46 kms