LOS ANGELES (AP) -- Roberto Nelson had 14 points and Oregon State managed to hold off a final charge and beat USC 76-66, sweeping the season series on Thursday night.
Oregon State (15-12, 7-8 Pac-12) allowed USC to get as close as 69-64 with 1:44 to play. But the Trojans had to foul to extend the game and Oregon State converted the free throws it needed to hang on.
Angus Brandt added 13 points for the Beavers, while Devon Collier had 12 and Langston Morris-Walker scored 11.
The Beavers entered the game having lost four of their last five, but parlayed seven first-half blocks and three steals into a commanding 43-20 halftime edge.
The Trojans fell behind 22-6 in the first 11 minutes, hitting on just two of their first 14 field goal attempts. USC was led by senior J.T. Terrell with 21 points, 18 in the second half.
After losing 76-75 in overtime in Corvallis in a game the Trojans led most of the way, USC was unable to make this into a game until the final five minutes.
Oregon State, meanwhile, looked like a team that could get any shot it wanted and could deny most of what the Trojans were trying to do.
While USC was shooting 37.3 percent from the field (23 of 67) for the game, Oregon State hit on an impressive 53.2 percent on 25 of 47. The Beavers also did a good job spreading the ball around, as nine OSU players scored - eight in the first half.
With USC choosing to stay in its zone defense the second half, Oregon State countered by slowing the game down and dribbling out the 35-second clock as long as it could before running its offense. But Terrell changed that, getting the Trojans pressing, stealing and scoring.
A flagrant 2 foul on OSU's Cooke at the 5:14 mark gave USC, trailing 68-54, a chance to make a game of it. After a considerable delay for a review, the officials ejected Cooke and Terrell hit both free throws.
Roschon Prince hit two more free throws to cut the deficit to 10, the closest USC had been since trailing 13-3 just 3:22 into the game.