SAN DIEGO — In a game where Gonzaga was favored by nearly 30 points, the Bulldogs’ matchup with San Diego turned into a physical, chippy battle Tuesday night at Jenny Craig Pavilion.

The contest featured 42 fouls and three technicals, and despite leading by as many as 21 points, No. 7 Gonzaga had to survive a frantic finish to escape with a 99-93 West Coast Conference win over the Toreros.

Gonzaga led 73-52 with less than 10 minutes to play, but that cushion quickly evaporated as San Diego clawed back within eight points with just over three minutes remaining. The Zags appeared to regain control, pushing the lead back to 16 with a little more than a minute to play, but the Toreros refused to go away.

San Diego rattled off an 11-0 run, capitalizing on Gonzaga’s six missed free throws and two turnovers in the final minute to cut the deficit to six. The comeback bid finally ran out of time when Tyon Grant-Foster made one of two free throws with nine seconds left to seal the win.

It was an all-around sloppy night for Gonzaga, which shot just 54% from the free throw line and committed 15 turnovers that led to 25 San Diego points.

Still, a win is a win, and Gonzaga’s bench proved to be the difference, combining for 54 points.

Jalen Warley led the way with a game-high and season-high 22 points, along with a season-high 14 rebounds. He also added five assists, three steals and a block.

Grant-Foster followed with 18 points for the second straight game, along with five rebounds and two assists. Mario Saint-Supery played a pivotal role off the bench as well, finishing with 14 points, five assists, three rebounds and two steals.

The game’s physical tone was set early by a heated battle in the paint between Gonzaga’s Graham Ike and San Diego’s Vuk Boskovic. Frustration boiled over for Ike late in the first half when he picked up his second foul, walked to the bench and spiked a water bottle, earning a technical foul as water splashed onto the floor.

Ike sat out the first six minutes of the second half and then picked up his fourth foul less than a minute after checking back in. He returned again with 7:43 to play but struggled down the stretch, missing four free throws, committing a turnover and scoring just five points in the final minutes. Ike subbed out with 17 seconds left and finished with 11 points, nine rebounds and four fouls.

Boskovic, a 6-foot-7 freshman forward, battled Ike physically and mentally throughout the night. He finished with six points and one rebound before fouling out with 6:39 remaining.

Braden Huff was the only other Gonzaga player in double figures, scoring 14 points and grabbing eight rebounds in 21 minutes.

As a team, Gonzaga shot 57% from the field and 44% from 3-point range, but struggled to close out the game despite the large lead.

Ty-Laur Johnson led San Diego (6-8, 1-1 WCC) with 21 points. Juanse Gorosito added 16, Darrae Goodwin scored 15, Adrian McIntyre had 12 and Toneari Lane chipped in 10. The Toreros shot 52% from the field and 39% from beyond the arc to keep the pressure on Gonzaga until the final seconds.

The win was Gonzaga’s seventh straight and its 20th consecutive victory over San Diego, improving the Bulldogs to 14-1 overall and 2-0 in WCC play.

Up next, Gonzaga returns home for the first time since Dec. 17 to host Seattle U on Friday. The Bulldogs and Redhawks (12-3, 1-1) tip off at 6 p.m. The game will air on NonStop Local KHQ and stream on SWXLocalSports.com.