EUGENE, Ore. (AP) -- Oregon defensive back Matthew Harper could sense it. Southern California was trailing by a touchdown and on the march in the final moments.

The home fans were on their feet, urging the Ducks to make the one last play it needed to take down the kings of the Pac-10.

Harper was confident. "We knew somebody would make the play, and luckily it was me," he said.

Harper's interception on USC's final drive preserved a 24-17 victory and put No. 5 Oregon on the short list of national title contenders.

As for No. 12 Southern California (No. 9 AP), just defending its Pac-10 title could be a long shot at this point.

Jonathan Stewart ran for 103 yards and two touchdowns and Dennis Dixon completed 16 of 25 passes for 157 yards for Oregon (7-1, 4-1), which was fifth in the BCS standings this week. Dixon, who's starting to get some serious Heisman hype, also ran for 76 yards and a touchdown.

The Ducks, who came into the game ranked second nationally in total offense, managed only 339 yards -- more than 200 below their average -- against the Trojans' third-ranked defense. But it was turnovers, including a fumble recovery and a pair of interceptions, that gave Oregon the advantage over Southern California (6-2, 3-2).

USC came into the season ranked No. 1 and a heavy favorite to play for a national title. Now the Trojans will need lots of help to gain even a share of the Pac-10 crown it's won at least a part of for five straight seasons.

"They have been top dogs," Stewart said. "But this is a different year."

Is it ever. USC was an underdog coming into this game, the first time since 2001 the Trojans weren't favored against a Pac-10 team.

Mark Sanchez, making his third start for the Trojans in place of the injured John David Booty, completed 26 of 41 passes for 277 yards and two touchdowns, but the misfires hurt.

Trailing 24-10 with 4:44 left in the game, Sanchez narrowed the gap with a 14-yard touchdown pass to David Ausberry.

Sanchez led the Trojans to the Oregon 33 on their final drive, but he was intercepted by Harper -- his second pick of the quarter.

"They walked down the field on us, and we knew we couldn't let them do it again," defensive end Nick Reed said. "Then Harper made a big play."

After the interception, fans rushed onto the field and even Dixon appeared headed to the locker room. But there were still 9 seconds on the clock, so the celebration was delayed while they cleared the field and played the game out.

"If you look at this game, turnovers were the story for us," USC coach Pete Carroll said. "In the second half when you have to play right and do things right, we gave them a couple easy shots and they took advantage and played a very good football game."

It was the first time in Autzen Stadium's 41-year history that two top-10 teams played. The game drew a stadium record of 59,277 fans, including former Ducks Joey Harrington, now with the Atlanta Falcons, and Haloti Ngata, who is with the Baltimore Ravens.

Booty, nursing a broken middle finger on his throwing hand, was suited up on the sidelines but the Trojans did not go to him.

Dixon faked a handoff to Stewart and ran 2 yards for a touchdown to put the Ducks up 7-0 with 2:50 to go in the first quarter. It was Dixon's eighth straight game with a rushing TD, but his first without a passing score.

USC's David Buehler kicked a 30-yard field goal to narrow the gap, but Matt Evensen added a 41-yard field goal for the Ducks to put Oregon up 10-3 at halftime.

Sanchez hit Patrick Turner with a 9-yard touchdown pass early in the second half to tie it at 10.

Oregon capitalized on a turnover to go ahead 17-10. Defensive end Will Tukuafu stripped the ball from Trojans fullback Stanley Havili on the USC 16 and recovered the fumble. Two plays later, Stewart ran 16 yards for the score.

Stewart, a junior, became the first Oregon player to run for 1,000 yards or more in a season since Terrence Whitehead in 2004.

Harper intercepted Sanchez's pass intended for Anthony McCoy and returned it 27 yards, and the Ducks went on to score on Stewart's 1-yard run to make it 24-10.

"Our defense plays for those moments. We want to play in the last minutes and we want to show everyone what we're about," Harper said. "We might bend, but we're not going to break."

USC had won the last three games against the Ducks, including last year's 35-10 victory in Los Angeles.

The Trojans now can only look forward to next week at home against Oregon State, and see how the season shakes out.

"This is hard, sure, it's very hard. It's very difficult right now," Carroll said. "We had expectations of coming up here and winning. and really jump starting us to a great finish. It was a great opportunity against a team that was really hot. We missed a big opportunity today."

"Our defense plays for those moments. We want to play in the last minutes and we want to show everyone what we're about," Harper said. "We might bend, but we're not going to break."

USC had won the last three games against the Ducks, including last year's 35-10 victory in Los Angeles.

The Trojans now can only look forward to next week at home against Oregon State, and see how the season shakes out.

"This is hard, sure, it's very hard. It's very difficult right now," Carroll said. "We had expectations of coming up here and winning. and really jump starting us to a great finish. It was a great opportunity against a team that was really hot. We missed a big opportunity today."