Gilbert Arenas scored 21 points and Michael Wright, who had just three points and was 0-for-3 from the field in Arizona's Jan. 22 loss to the Trojans in Los Angeles, added 20 points and 14 rebounds for the Wildcats (22-4, 11-1).
Brian Scalabrine, who scored a career-high 27 points against Arizona the first time, bettered that with 28 this time despite playing most of the game in foul trouble. Jeff Trepagnier had 20 points and 13 rebounds for USC (13-10, 6-5) but missed a 3-pointer that would have tied the game with 24 seconds to play.
Brandon Granville had 21 points for USC, 15 in the first half, and 11 assists.
Gardner, whose underhanded layup in traffic gave Arizona an 88-82 lead with 1:16 remaining, clinched it with two free throws that made it 90-55 with 17 seconds to play. Wright punctuated the victory with a breakaway stuff with a second to go.
All five Arizona starters scored in double figures. Loren Woods, bothered by a sore back, had 17 points and eight rebounds and Luke Walton matched his career high with 13 points.
USC lost its fourth in a row and fifth in seven games, but not before seriously threatening Arizona's 26-game Pac-10 homecourt winning streak.
The Wildcats scored the first basket of the game, then trailed the rest of the half. Scalabrine scored 13 points in the first 8 1/2 minutes, mostly on layups, and USC built a 27-18 lead on Trepagnier's 3-pointer with 10:33 left in the half.
Trailing 43-39 at halftime, Arizona scored the first nine points of the second half on 3-pointers by Gardner, Arenas and Walton to go up 48-43, but the Trojans didn't fold.
Arizona outscored USC 17-9 to go ahead 83-73 on Gardner's two free throws with 4:45 remaining, but the Trojans used a 12-5 spurt to cut it to 88-85 on Granville's 3-pointer with a minute to play.
Scalabrine stole Walton's pass inside to give USC a chance to tie it, but Trepagnier's 3-pointer was just long.
Gardner, 7-for-41 from the field in his previous five games, was 3-for-5 in the second half and 6-for-13 for the game. He also had eight rebounds and six assists.
Even though both teams have little depth because of injuries, it was an up-tempo game. USC shot 64 percent in the first half but just 34 percent in the second. Arizona shot 42 percent in the first half and 53 percent in the second.