The Trojans (18-12, 9-9 Pac-10) will face California as the sixth seed in the Pacific Life Pac-10 tournament on Thursday at 6 p.m.
DeMar DeRozan added 16 for USC, which has won eight of its last nine against the Beavers (13-16, 7-11).
Seth Tarver had 16 for Oregon State, which lost its third straight.
The Beavers had a 30-29 advantage on a Lathen Wallace 3-pointer early in the first half, but Oregon State failed to score a field goal over a 10-minute period and the Trojans went on a 21-4 run to push ahead, 50-34.
Hackett hit two 3s during that six minute stretch and also hit a key jumper with 13:09 to give USC the lead for good, 31-30.
DeRozan added six during that span, including a highlight-style fastbreak dunk.