Jeremiah Masoli ran for a touchdown and threw for another for the Ducks. He gained 85 yards in eight carries and completed 17-of-26 for 146 yards.
Johnson ran 43 yards for a touchdown on Oregon's first possession and added a 6-yard TD run early in the third quarter. Blount had a 10-yard scoring run in the second quarter and an improbable 19-yard touchdown run in the third.
Blount rolled on top of two would-be Arizona State tacklers on his second score, then got to his feet and scampered to the end zone.
Oregon (6-2 overall, 4-1 Pac-10) amassed 537 yards, 304 on the ground. The Sun Devils (2-5, 1-3) lost their fifth in a row.
Coach Mike Bellotti wouldn't say until game-time whether Masoli or Justin Roper would get the start. But Masoli played the first three quarters, staking the Ducks to a 44-13 lead. Roper connected with Chris Harper for a 62-yard TD with 5:27 to play.
The Ducks beat the Sun Devils for the fourth straight time, three in Tempe.
The game was barely two minutes old when Oregon took the lead for good. On third-and-2, Johnson burst free over right tackle on a 43-yard touchdown run.
The Sun Devils blew an opportunity on Oregon's next possession, when Masoli and Johnson botched a handoff and Morris Wooten recovered for Arizona State at the Ducks' 8. But on third-and-goal from the 11, Jarius Byrd intercepted Rudy Carpenter's pass in the end zone and scrambled out to the 2.
Late in the first quarter, Masoli ran 28 yards to the ASU 3, then scored from there on the next play. The extra-point attempt was botched by a bad snap, and the Ducks led 13-0.
Arizona State gambled on fourth-and-1 at its 48 on its next possession, and Carpenter stumbled and fell going back to pass. That gave Oregon the ball at the Sun Devils 39. Four plays later, Blount ran 10 yards up the middle for a score to make it 20-0 amid a chorus of boos with 12:20 still left in the half.
Oregon had a 141-10 advantage in yards rushing in the first quarter.
The Ducks made it 23-0 on Matt Evensen's career-best 52-yard field goal with 6:27 left in the half.
Wooten intercepted Masoli's pass and returned it 24 yards to the 1, where Carpenter scored on a sneak with 2:01 left in the half. Thomas Weber was wide right on the extra point, snapping his string of 33 consecutive PATs.
Oregon benefited from a referee's reversal of what initially was ruled a fumble that Arizona State's Jamarr Robinson and returned 62 yards to the Ducks 8. But a review of the video showed Masoli was down the ball came loose. Oregon went on to score on Johnson's 6-yard run to go up 30-6 with 11:47 to go in the third quarter.