PULLMAN (AP) -- Marcus Mariota threw for 329 yards and five touchdowns as No. 2 Oregon held off Washington State 38-31 on Saturday night in a matchup of two of the top offenses in the nation.

Devon Allen and Keanon Lowe each had two touchdown receptions for Oregon (4-0, 1-0 Pac-12), which has won eight straight games against Washington State.

Connor Halliday threw for 436 yards and four touchdowns for Washington State (1-3, 0-1), which boasts the nation's top passing attack. They came into the game as 24-point underdogs, but stayed close the entire way.

Washington State played stout defense in the first half, sacking Mariota five times and recording seven tackles for losses, while holding the Ducks to a total of 210 yards. The score was tied 21-all at halftime.

However, the Cougars' offense stalled in the second half.

More From 1460 ESPN