Starting from Newport on the Oregon Coast, Highway 20 crosses the Coast Range into the Willamette Valley, passing through Corvallis and Albany before crossing Interstate 5.
Following the South Santiam River past Lebanon and Sweet Home, the highway crosses the Cascades and descends through Sisters into Bend.
Striking out eastward from Bend, Highway 20 covers largely unpopulated territory in Eastern Oregon. At about the halfway point, it goes through Burns. After crossing Stinkingwater Pass and Drinkwater Pass, the highway follows the Malheur River Valley into Vale. A few miles before Ontario, it turns south and crosses the Snake River at Nyssa.