There are
249 mi
from Gresham, OR to Oak Harbor, WA
That's the driving distance. It would take 5 hours 33 mins to go from Gresham, Oregon to Oak Harbor, Washington.
The flight distance (direct flight from Gresham, OR to Oak Harbor, WA) is 193.25 mi.
249 mi = 400.63 kms