Drew Peterson had the game of his life and No. 21 USC beat No. 12 UCLA at home Saturday night to claim its fifth straight win in the crosstown rivalry series.

The Battle of LA lived up to the hype.

Students lined up hours before tip-off to get into the arena, packing the Galen Center full as new USC quarterback Caleb Williams took in the sights and sounds of a USC game with major stakes. This was a prize fight, one side fighting to stay alive in the conference title race and the other fighting to prove it belongs among the league’s elite. It was physical, it was knockdown, it was drag-out, and the Trojans came out on top, 67-64.

Early on, it felt like the Trojans wanted it just a bit more than the Bruins. In the run-up to the game, USC talked about this one being about proving to themselves and everyone else they could beat one of the big ones on their schedule.

Without Isaiah Mobley (concussion-like symptoms) and his 15 points and 8.5 rebounds a game, the Trojans were short-handed in the frontcourt and yet still battled on the boards. The Bruins grabbed 18 offense rebounds, but only got 13 second-chance points.

Every adventure into the painted area for UCLA was met with attention and resistance from USC. The Trojans blocked a season-high 10 shots. Peterson, known more for his 3-point marksmanship than his physicality, had five (!!!) blocked shots and 12 rebounds.

In his last two games, Peterson has now blocked nine combined shot attempts. Keep it up and we’ll have to come up with some kind of nickname. (“Slim Protector?” We’ll workshop it.)

Peterson wanted it, clearly. The Trojans nearly suffered an embarrassing loss at home to Pacific on Tuesday, and there was a noticeable energy to start against the Bruins that was missing the last time out. After the game Tuesday, Peterson called out the effort, saying he felt the Trojans played down to their competition.

They rose to the moment Saturday.

A 10-3 run late in the first half gave the Trojans an eight-point lead with 4:49 to play before the break. Peterson had six of his 15 first-half points during the spurt. He went 6-of-8 from the field and 3-for-3 from beyond the 3-point line in the game’s first 20 minutes, snapping out of a personal funk and igniting the Trojan crowd on hand.

A personal 8-0 Tyger Campbell run over the final two minutes drew UCLA back even until a Peterson jumper with 16 seconds left put USC up 2 going into the break.

Peterson stayed hot in the second half, but the outside shooting early opened up space to attack, and he got himself to the free throw line for six attempts in the final 20 minutes.

He had everything on display. An off-the-dribble trey, a fall-away jumper from just below the free throw line, at the rim, at the line, Peterson was all in his bag, finishing with a career-high 27 points on 9-of-13 shooting and adding four assists to go with the defensive effort he put in.

After UCLA took a four-point lead with 12:28 to play in the game, USC responded with an 18-6 run to go back up by eight.

Campbell and Johnny Juzang were able to keep the Bruins within striking distance late, but USC was able to get stops when needed and knocked down its free throws—something that hasn’t always been a given this season. After not taking a single foul shot in the first half, USC was 11-for-12 from the charity stripe in the second half.

Down three with only a few ticks left on the clock, Campbell had the ball in his hands hoping to inflict heartbreak, but it wasn’t meant to be. No buzzer-beater to save the Bruins. Only USC jubilation.

Campbell finished with a season-best 27 points to pace the Bruins. Juzang, a Player of the Year candidate in the conference, was limited to just 12 points on 4-of-16 shooting. (Peterson had that assignment, and he stuck like glue all night.)

The Bruins shot just 30% from the field, 26% in the second half. That sweltering SC defense from earlier in the season was on full display. Jules Bernard and Jaime Jaquez Jr., two swing scorers for the Bruins, shot a combined 3-for-20.

If Campbell was going to get his, no one else would. And no one else did. UCLA had just 16 paint points all game

USC got 10 points and nine boards from Chevez Goodwin. Reese Dixon-Waters added 10 points as well.

The win moved the Trojans (21-4, 10-4 Pac-12) into sole possession of second place in the conference standings, 2.5 games back of Arizona. It also gave the Trojans a much-needed second Quad 1 win to bolster their NCAA Tournament résumé.

They’ll look to keep it rolling against Washington next Thursday at home, with tip-off set for 8:30 p.m. PT.

UCLA (17-5, 9-4 Pac-12) will look to rebound when it hosts Washington State next Thursday at 8 p.m. PT.