There are 6 ways to get from Portland to Diablo Lake by train, car, bus, taxi, or plane
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train, drive (Amtrak)
best- Take the train from Portland to Mount Vernon Amtrak Stationtrain Amtrak Cascades
- Drive from Mount Vernon Amtrak Station to Diablo Lakecar
7h 3m$83–171Drive 295.3 mi
cheapest- Drive from Portland to Diablo Lakecar 295.3 mi
5h 42m$54–78Bus, taxi
- Take the bus from Portland Curbside Bus Stop to Seattlebus
- Take the bus from Lynnwood City Center Station Bay D4 to Smokey Point Transit Center Bay 4bus 202 / ...
- Take the bus from Smokey Point Transit Center Bay 3 to Mountain Loop Hwy & Seeman Stbus 230
- Take the taxi from Mountain Loop Hwy & Seeman St to Diablo Laketaxi
9h 6m$150–199Fly, drive
- Fly from Portland International Airport (PDX) to Bellingham International Airport (BLI)plane PDX - BLI
- Drive from Bellingham-Airport-BLI to Diablo Lakecar
4h 35m$200–518Train, bus, taxi
- Take the train from Portland to Mount Vernon Amtrak Stationtrain
- Take the bus from Skagit Station Gate 1 to SR 20 & Superior Avebus 70X
- Take the taxi from SR 20 & Superior Ave to Diablo Laketaxi
8h 31m$171–284Bus, taxi via Concrete Park & Ride
- Take the bus from Portland Curbside Bus Stop to Seattle Bus Stationbus
- Take the bus from Seattle Bus Station to Mount Vernon Bus Stopbus
- Take the bus from Skagit Station Gate 1 to Concrete Park & Ridebus 70X
- Take the taxi from Concrete Park & Ride to Diablo Laketaxi
9h 16m$135–196
Portland International Airport (PDX) to Bellingham International Airport (BLI) flights
Comparing Your Travel Options
The cheapest way to get from Portland to Diablo Lake is to drive which costs $50 - $80 and takes 5h 42m.
The fastest way to get from Portland to Diablo Lake is to fly and drive which takes 4h 35m and costs $200 - $550.
The distance between Portland and Diablo Lake is 319 miles. The road distance is 297.1 miles.
The best way to get from Portland to Diablo Lake without a car is to bus and taxi which takes 9h 6m and costs $150 - $200.
It takes approximately 7h 3m to get from Portland to Diablo Lake, including transfers.
Yes, the driving distance between Portland to Diablo Lake is 297 miles. It takes approximately 5h 42m to drive from Portland to Diablo Lake.
What companies run services between Portland, OR, USA and Diablo Lake, WA, USA?
There is no direct connection from Portland to Diablo Lake. However, you can take the train to Mount Vernon Amtrak Station then drive to Diablo Lake. Alternatively, you can take the bus to Seattle, walk to U District, take the vehicle to Lynnwood City Center, walk to Lynnwood City Center Station Bay D4, take the bus to Smokey Point Transit Center Bay 4, take the bus to Mountain Loop Hwy & Seeman St, then take the taxi to Diablo Lake.
- Website
- alaskaair.com
Flights from Portland International Airport to Bellingham International Airport
- Ave. Duration
- 1h 1m
- When
- Every day
- Estimated price
- $180–490
Rome2Rio's guide to Amtrak
Contact DetailsContact Details
- Phone
- +1 800-872-7245
- Website
- Amtrak
Train from Portland to Mount Vernon Amtrak Station
- Ave. Duration
- 5h 22m
- Frequency
- Once daily
- Estimated price
- $70–160
- Website
- Amtrak
Train from Portland to Mount Vernon Amtrak Station
- Ave. Duration
- 5h 22m
- Frequency
- Once daily
- Estimated price
- $70–160
- Website
- Amtrak
- Phone
- +1 (855) 626-8585
- Website
- Flixbus USA
Bus from Portland Curbside Bus Stop to Seattle
- Ave. Duration
- 4h 5m
- Frequency
- Twice daily
- Estimated price
- $25–45
- Schedules at
- Flixbus USA
Bus from Portland Curbside Bus Stop to Seattle Bus Station
- Ave. Duration
- 3h 35m
- Frequency
- 3 times a day
- Estimated price
- $24–40
- Schedules at
- Flixbus USA
- Phone
- (800) 562-1375
- riders@commtrans.org
- Website
- communitytransit.org
Bus from Lynnwood City Center Station Bay D4 to Smokey Point Transit Center Bay 4
- Ave. Duration
- 1h 12m
- Frequency
- Every 20 minutes
- Estimated price
- $2–5
- Website
- communitytransit.org
Bus from Smokey Point Transit Center Bay 3 to Mountain Loop Hwy & Seeman St
- Ave. Duration
- 58 min
- Frequency
- Once daily
- Website
- communitytransit.org
- Phone
- +1 360-757-4433
- custserv@skagittransit.org
- Website
- Skagit Transit
Bus from Skagit Station Gate 1 to SR 20 & Superior Ave
- Ave. Duration
- 1h 12m
- Frequency
- 3 times a day
- Estimated price
- $1–2
- Website
- Skagit Transit
- Youth 8-17
- $1
- Adult
- $1–2
Bus from Skagit Station Gate 1 to Concrete Park & Ride
- Ave. Duration
- 1h 13m
- Frequency
- 3 times a day
- Estimated price
- $1–2
- Website
- Skagit Transit
- Youth 8-17
- $1
- Adult
- $1–2
Rome2Rio's guide to Greyhound USA
Contact DetailsContact Details
- Phone
- +1 214-849-8100
- ifsr@greyhound.com
- Website
- Greyhound
Bus from Portland Curbside Bus Stop to Seattle Bus Station
- Ave. Duration
- 3h 10m
- Frequency
- Twice daily
- Estimated price
- $24–50
- Website
- Greyhound
Bus from Seattle Bus Station to Mount Vernon Bus Stop
- Ave. Duration
- 1h 30m
- Frequency
- Once daily
- Estimated price
- $9–17
- Website
- Greyhound
- Ave. Duration
- 1h 1m
- Estimated price
- $100–150
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
Travelling to the US: What do I need to know?
Read the travel guide
Why you should take the train in the US
Read the travel guide
Need to know: Greyhound
Read the travel guide








