LOS ANGELES — With Oregon clinging to a five-point lead and Ducks star Dillon Brooks heading to the bench after fouling out, Southern California suddenly had hope.
Tyler Dorsey dashed that right away.
Dorsey hit two big 3-pointers in the final 3 minutes and the fifth-ranked Ducks held off USC for the 14th straight time, 81-70 on Saturday night.
Brooks scored 21 points before fouling out and Dorsey added 19 for the Ducks (22-4, 11-2 Pac-12), who salvaged a split in Los Angeles after losing at 10th-ranked UCLA by three points.
"I didn't want to leave my hometown without at least getting one win," Dorsey said. "The UCLA (loss) hurt us and we knew we just had to let that go and bounce back and come out with a lot of energy against USC."
Oregon's winning streak is its longest ever against the Trojans and the Ducks' longest run against any Pac-12 opponent.
Chimezie Metu scored 16 points, and Bennie Boatwright and Elijah Stewart had 15 points each for USC (21-5, 8-5), which had its five-game winning streak snapped. The Trojans had 16 turnovers after committing 17 in the first game against Oregon.
The Trojans took their first lead on Jordan McLaughlin's 3-pointer early in the second half. He sidestepped a flying Dylan Ennis and made the shot from in front of his team's bench. Shaqquan Aaron scored off his own offensive rebound and Boatwright had a three-point play that gave USC a 50-46 lead.
Brooks picked up his fourth foul during a 22-8 run that restored Oregon's lead to 68-58. He capped the spurt with four straight points after Dorsey sandwiched 3-pointers around a trey by Chris Boucher.
"The game actually didn't get into a great flow," Ducks coach Dana Altman said. "Tonight was a slugfest where momentum kept switching."
The Trojans thought things would go their way once Brooks fouled out with 3:28 remaining and the Ducks ahead 68-63.
"I didn't realize he had fouled out, I thought he had four," Dorsey said. "We made some good defensive possessions and we boxed out and got the rebounds, and that is what it came down to in the end."
Dorsey stretched the lead to six on a 3-pointer late in the shot clock after defender De'Anthony Melton didn't challenge him.
"I didn't really notice the shot clock and he noticed it before me and he shot it," Melton said. "I was late closing out, so he hit it."
Stewart's 3-pointer drew the Trojans to 71-68. Jordan Bell's layup and another 3-pointer by Dorsey to go with two free throws by Ennis restored the Ducks' lead to 78-68.
"It seemed like they just picked it up and they became more focused," Stewart said of Dillon's absence. "We didn't get any easy looks after that."
The Ducks completed a season sweep of the Trojans, who were handed their first loss of the season by Oregon at home on Dec. 30.
The Ducks controlled the start of the game and built an 11-point lead. The Trojans closed the half on a 16-7 run to trail 35-33 at the break.
Oregon: The Ducks held on to second place in the Pac-12 behind ninth-ranked Arizona. With third-place UCLA set to host last-place Oregon State today, the Ducks needed a win to keep pace.
USC: The Trojans began a stretch Saturday night in which they play Oregon, at No. 10 UCLA on Feb. 18 and at No. 9 Arizona on Feb. 23. They've already played Oregon twice and will be playing the Bruins and Wildcats a second time. All three opponents are among the top teams in the country in winning percentage.
Boatwright was just 3 of 15 from the field and missed eight of nine 3-point attempts for the Trojans, who shot just 37 percent in the game.
Stewart was 5 of 10 from the floor.
"When you shoot 6 for 27 from the 3-point line, a lot of those were wide open, and you miss dunks, it's hard to beat a team like this," Enfield said.
Oregon: Hosts Utah on Thursday in a rematch of a game won by the Ducks 73-67 last month.
USC: Visits No. 10 UCLA on Feb. 18, giving the Trojans a week to prepare for the rematch with their crosstown rival. They upset the Bruins 84-76 at home last month, extending their winning streak to four straight in the matchup.