Louie Sakoda kicked a 37-yard field goal as time expired to cap an 11-point rally over the final 89 seconds and give No. 15 Utah a 31-28 victory over Oregon State on Thursday night.

The Utes (6-0) tied the game 28-28 on a 25-yard touchdown pass and 2-point conversion by Brian Johnson with 1:29 remaining. Utah's defense held the Beavers (2-3) on a three-and-out and the Utes got the ball back 23 seconds later to set up the final drive and Sakoda's game-winner.

Utah got the ball back at its own 45 with 1:06 left, and Johnson moved the Utes to Oregon State's 24 where the Utes called a timeout with 2 seconds left. Sakoda kicked his third field goal of the game and the Utes' hopes for a Bowl Championship Series berth were still alive -- barely.

The win gave the Mountain West Conference a 6-1 record against the Pac-10 this season.

Freshman Jacquizz Rodgers ran for 101 yards and a touchdown for the Beavers, who were coming off their upset of then-No. 1 Southern California last Thursday. Rodgers had 186 yards and two touchdowns in Oregon State's first win over a No. 1 team in 41 years.

Rodgers also had 76 receiving yards, breaking a middle screen for 41 yards late in the fourth quarter on third-and-9, setting up Lyle Moevao's 2-yard touchdown pass to Brady Camp with 2:18 remaining.

The Beavers held Utah to just 30 yards in the third quarter and needed only one more defensive stop to win it. But they couldn't stop Johnson on the tying drive.

After two short gains, Johnson found Brent Casteel for a 25-yard pass play to the 25. On the next play, Johnson hit Bradon Godfrey for a touchdown to get the Utes within 28-26. Johnson's pass on the 2-point conversion was incomplete, but Greg Laybourn was called for pass interference in the end zone and the Utes got another chance. Johnson dropped back, then outran the Beavers to the right corner to tie it.

Oregon State's three-and-out barely burned any time off the clock and Johnson led the final drive.

Moevao was 21-of-31 for 313 yards and two touchdowns and the Beavers' defense forced three turnovers, including an interception Al Afalava returned 26 yards for a touchdown that gave Oregon State a 9-3 lead on the first play of the second quarter.

Johnson struggled in the third quarter, but recovered late in the fourth and finished 17-of-30 for 201 yards and two touchdowns.

Utah won despite being outgained 405-337.

The Beavers fell behind 20-9 on a 12-yard run by Casteel with 2:31 left in the second quarter, but Moevao led the Beavers right back up the field and completed a 24-yard touchdown pass to Shane Morales with 1:13 left before halftime.

Utah got the ball back to start the third quarter, but Johnson fumbled as he was being tackled by Slade Norris and the Beavers recovered at the 34. Rodgers gave Oregon State a 21-20 lead on a 7-yard touchdown with 12:33 left in the third.

It was 3-3 after the first quarter, then the Beavers and Utes went back and forth throughout the second, capitalizing on each other's mistakes. Some were forced by the defense and some were just blunders.

Johnson opened the second quarter with a pass over the middle that Afalava stepped in front of and ran untouched 26 yards for a touchdown. Oregon State missed the extra point, then muffed the kickoff coverage. David Reed took the return up the middle, then bounced to the Utah sideline going 79 yards to Oregon State's 15-yard line.

Utah had to settle for a 28-yard field goal by Sakoda, then scored again with 7:04 left on a 14-yard pass from Johnson to Freddie Brown. The Beavers almost had Johnson sacked, but he scrambled out of trouble and found Brown standing alone at the back of the end zone for a 13-9 lead.