Gary Payton II recorded his sixth double-double of the season with 21 points and 10 rebounds to lead the Beavers to a 59-55 victory over the Trojans.
"They played really hard, they played excellent defense, and unfortunately, we came out on the short end of the stick," said USC Coach Andy Enfield, whose team fell to 1-6 in Pac-12 Conference play and 9-10 overall.
Jarmal Reid scored 14 points, including the go-ahead basket with 10:02 to play, as the Beavers (14-5, 5-2 Pac-12) won their third in a row in a game that featured 12 lead changes and four ties.
"Our guys showed incredible resiliency again, which is really kind of becoming the hallmark of this group," said Oregon State Coach Wayne Tinkle, whose team improved to 12-0 this season at Gill Coliseum. "Just pretty darn good toughness there and finding ways."
Trailing 58-55, the Trojans had the ball with a chance to tie, but Payton intercepted Julian Jacobs' pass intended for Nikola Jovanovic at the top of the three-point arc with eight seconds to play.
Payton was fouled and made one of two free throws with six seconds left to seal the win and send USC to its fourth straight loss.
Katin Reinhardt led USC with 17 points and Jovanovic finished with 13, but Enfield lamented the fact that starting guards Malik Marquetti, Jordan McLaughlin and Jacobs shot a combined three for 21 from the field, including one for 10 from three-point range.
"If you ask me what the difference in the game was, our guards have got to step up and make some shots," Enfield said.