Rome2Rio

How to get fromHaverhill to Lewistonby train, bus, or car

Find Transport to Lewiston

See all options

There are 3 ways to get from Haverhill to Lewiston by train, bus, or car

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.

  1. Train, bus

    best
    1. Take the train from Haverhill Amtrak to Portlandtrain train Downeaster
    2. Take the bus from City of Portland to Lewiston Bus Stopbus bus Greyhound US0265s
    3h 58m
    $33–68
  2. Drive 109.4 mi

    cheapest
    1. Drive from Haverhill to Lewistoncar car 109.4 mi
    1h 54m
    $20–29
  3. Train, bus via Dover

    1. Take the train from Haverhill Amtrak to Dovertrain train Downeaster
    2. Take the bus from Portsmouth Bus Stop to Lewiston Bus Stopbus bus Greyhound US0265s
    5h 16m
    $26–49

Haverhill to Lewiston by train and bus

Calendar7Weekly Services
Duration3h 58mAverage Duration
Ticket$33Cheapest Price
See schedules

Questions & Answers

What companies run services between Haverhill, MA, USA and Lewiston, ME, USA?

There is no direct connection from Haverhill to Lewiston. However, you can take the train to Portland, walk to Portland Transportation Center, take the line 1 bus to Congress St + Maine Med, then take the bus to Lewiston Bus Stop. Alternatively, you can take a train from Haverhill Amtrak to Lewiston Bus Stop via Dover, Dover Transportation Center, Hanover Station, and Portsmouth Bus Stop in around 5h 16m.

Train operators
Bus operators

Want to know more about travelling around United States

Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.

Related travel guides

Need to know: Greyhound

Read the travel guideNeed to know: Greyhound