Rome2Rio

How to get fromSalem to Oak Harborby bus (Flixbus), train, bus, car, plane, train (Amtrak), or shuttle

Find Transport to Oak Harbor

See all options

There are 8 ways to get from Salem to Oak Harbor by bus (Flixbus), train, bus, car, plane, train (Amtrak), or shuttle

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

  1. Bus

    best
    1. Take the bus from Salem to Seattle Tacoma Intl Airportbus bus FlixBus 2110
    2. Take the bus from SeaTac Airport - Departures to Oak Harborbus bus Whidbey SeaTac Shuttle
    8h 10m
    $59–105
  2. Drive 307.9 mi

    cheapest
    1. Drive from Salem to Oak Harborcar car 307.9 mi
    5h 42m
    $57–82
  3. Train, bus

    1. Take the train from Salem to Tacomatrain train Amtrak Cascades / ...
    2. Take the bus from SeaTac Airport - Departures to Oak Harborbus bus Whidbey SeaTac Shuttle
    8h 53m
    $90–179
  4. Bus, fly to Seattle-Tacoma International Airport

    1. Take the bus from Salem Amtrak Station to Portland International Airportbus bus
    2. Fly from Portland International Airport (PDX) to Seattle-Tacoma International Airport (SEA)plane plane PDX - SEA
    3. Take the bus from SeaTac Airport - Departures to Oak Harborbus bus
    6h 36m
    $162–391
  5. Train (Amtrak)

    1. Take the train from Salem to Portlandtrain train Amtrak Cascades / ...
    2. Take the train from Portland to Mount Vernon Amtrak Stationtrain train Amtrak Cascades
    10h 19m
    $93–208
  6. Bus, fly to King County International Airport

    1. Take the bus from Salem Amtrak Station to Portland International Airportbus bus
    2. Fly from Portland International Airport (PDX) to King County International Airport (BFI)plane plane PDX - BFI
    3. Take the bus from SeaTac Airport - Departures to Oak Harborbus bus
    7h 21m
    $788–1,677
  7. Bus, fly to Paine Field County Airport, shuttle

    1. Take the bus from Salem Amtrak Station to Portland International Airportbus bus
    2. Fly from Portland International Airport (PDX) to Paine Field County Airport (PAE)plane plane PDX - PAE
    3. Take a shuttle bus from Paine Field Airport Terminal to Anacortes - Swinomish Marketshuttle bus
    7h 38m
    $304–553
  8. Bus, fly to Bellingham International Airport, shuttle

    1. Take the bus from Salem Amtrak Station to Portland International Airportbus bus
    2. Fly from Portland International Airport (PDX) to Bellingham International Airport (BLI)plane plane PDX - BLI
    3. Take a shuttle bus from Burlington Airporter Office to Anacortes - Swinomish Marketshuttle bus
    4. Take the bus from March's Point to Midway Blvd at SE 6th Avebus bus
    8h 5m
    $198–568

Salem to Oak Harbor by train and bus (Amtrak)

Calendar7Weekly Services
Duration10h 19mAverage Duration
Ticket$93Cheapest Price
See schedules

Questions & Answers

What companies run services between Salem, OR, USA and Oak Harbor, WA, USA?

You can take a bus from Salem to Oak Harbor via SeaTac Airport - Departures in around 8h 10m. Alternatively, you can take a train from Salem to Midway Blvd at SE 6th Ave via Portland, Mount Vernon Amtrak Station, Skagit Station Gate 5, and March's Point in around 10h 19m.

Airlines
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

More Questions & Answers