SAN DIEGO -- Gonzaga really had to earn a victory against San Diego.
David Stockton hit a runner in the lane with 55.9 seconds left after Kelly Olynyk scored on consecutive possessions and No. 7 Gonzaga held off San Diego 65-63 on Saturday night for its fourth straight win.
"We needed to make some plays down the stretch," Olynyk said. "David Stockton came in and made some great plays getting into the lane and finding guys for layins. It was huge and then we just needed a couple of stops, and we finally got a couple."
The Toreros still had a chance after Olynyk missed the front end of a one-and-one with 8 seconds left, but Elias Harris blocked Ken Rancifer's shot and the Toreros couldn't get off another.
"We battled," Harris said after Gonzaga was outrebounded 38-32. "It was really physical. It went back and forth. They gave us a hell of a time rebounding the ball. They pushed us around."
Harris scored 18 points for Gonzaga (21-2, 8-0 West Coast Conference), while Olynyk had 15 and Gary Bell Jr. 13.
"We really need to go back on Monday and go back to boxing out with more heart, Harris said, "because that today was not acceptable."
The Bulldogs have won nine straight against the Toreros and 31 of 33.
Johnny Dee scored a game-high 21 points for USD (11-12, 4-4).
Gonzaga trailed 57-53 with 7½ minutes left before outscoring the Toreros 12-6.
Olynyk made two free throws, Kyle Dranginis made a baseline shot and Bell scored inside to tie it at 59.
Stockton stole the ball and fed Olynyk for a reverse layup and 61-59 lead with 3:12 left. San Diego turned over the ball and Olynyk made another layup for a four-point lead.
After Chris Anderson scored for USD, Olynyk missed a slam dunk that would have given the Zags some breathing room. They got it anyway when Olynyk rebounded and fed Stockton for a runner in the lane and a 65-61 lead with just under a minute left.
San Diego's last points came on Dennis Kramer's putback with 9.4 seconds left.
"It's disappointing, obviously, but I'm really proud of our team," San Diego coach Bill Grier said. "When you give that kind of effort and compete that hard, no matter what happens, you're going to be happy with the fact that they battled."
Gonzaga led 51-43 with 13 minutes left before USD began closing the gap. Dee made consecutive shots for the Toreros, including a 3-pointer to pull to 51-50.
After Bell made a putback for Gonzaga, Bulldogs coach Mark Few was whistled for a technical that helped give the momentum to the Toreros. Dee scored seven straight points, including making both free throws and then a 3-pointer to give USD a 55-53 lead with 9:22 left. Dee made a jumper in the key for a four-point lead.
The Toreros played Gonzaga even until the final three minutes of the first half, when the Bulldogs went on a 12-1 run to take a 36-27 lead.
Kevin Pangos had eight straight during the run, starting with consecutive 3-pointers followed by a layup after a steal by Stockton. Harris finished it with four straight free throws.
The Toreros had gone ahead 19-17 after an 8-0 run that included two straight baskets by Chris Manresa and layups by Cameron Miles and Keith Stackhouse. USD's last lead of the first half was 26-24 after Rancifer made a layup with 3:19 left.