SPOKANE, Wash. -- San Diego always seems to play Gonzaga tough, making the Bulldogs work for yet another victory.
Rui Hachimura scored 32 points and No. 4 Gonzaga pulled away to beat San Diego 85-69 on Saturday night to go undefeated through the first half of the conference season.
"We made plays defensively," Gonzaga coach Mark Few said. "We got some critical stops multiple times in a row, which we call kills. We took care of the ball."
The game was close most of the way, until Gonzaga got some separation in the second half.
"Nothing comes easy in February," Few said. "I like the way we played down the stretch."
Zach Norvell Jr. added 21 points for Gonzaga (21-2, 8-0), which won its 12th consecutive game since a pair of December losses knocked it from the No. 1 spot in The AP Top 25.
"We knew it was going to be a dogfight," Norvell said.
Josh Perkins and Brandon Clarke each added 12 points for Gonzaga, which outscored the Toreros 38-18 in the paint.
Isaiah Pineiro tied a career high with 30 points and added 11 rebounds for San Diego (15-8, 4-4), one of the surprise teams in the league this season. Isaiah Wright added 16 points.
"Pineiro had it going," Norvell said. "He had a lot of clear looks in the first half."
Hachimura sank 11 of 15 shots and added seven rebounds, and finished one point shy of tying his career high.
"He earned everything he got," Few said. "They are a tough team to score on. He understood he had to go through physicality and being body bumped to deliver," Few said, noting the Toreros pressed the entire game."
The Toreros were undone by 17 turnovers, and shot 46 percent to 53.7 percent for Gonzaga. They also played without injured guard Olin Carter III for the fifth straight game.
"We rebounded well and that was key," San Diego coach Sam Scholl said. "But we needed to do a better job taking care of the ball."
"They played a phenomenal game, made plays, and didn't let the atmosphere get to them," Scholl said of Pineiro and Wright.
Hachimura scored 11 points as Gonzaga jumped to a 17-10 lead.
San Diego came back and Pineiro's 3-pointer put the Toreros ahead 24-21.
Hachimura stole the ball and slammed it home for a 34-29 Gonzaga lead, capping a 13-5 run.
Gonzaga scored the final six points of the first to take a 40-32 lead at halftime. Hachimura had 20 points in the first, while Pineiro had 15 points for San Diego.
The Toreros nailed six 3-pointers in the first half.
The teams traded baskets in the second half, with Gonzaga holding a 59-48 lead at the midpoint.
Three consecutive 3-pointers by Norvell lifted Gonzaga to a 70-55 lead with 5:30 left.
"It was good to see a few go in," said Norvell, who made 5 of 7 3-pointers.
San Diego went 10 of 23 from 3-point range.
Gonzaga has won nine straight against San Diego, who last beat them in 2014.
San Diego: The Toreros are coming off a win over second-place San Francisco ... Pineiro is averaging 19.5 points and 8.8 rebounds for the Toreros ... Olin Carter III, who is averaging 16 points per game, has not played since Jan. 12 because of an abdomen injury. "We have to be able to withstand a major injury," Scholl said. "We aren't making any excuses."
Gonzaga: The Bulldogs are coasting toward a seventh consecutive WCC regular season title. They came in beating league opponents by an average of 31 points per game ... The Zags are first in the nation in scoring at 91.5 points per game and field goal shooting at 52.7 percent ... Gonzaga has won 20 straight home games against San Diego dating to a loss in 2000 ... Gonzaga has won 23 straight games against WCC foes.
San Diego: At Loyola Marymount on Thursday night.
Gonzaga: Hosts second-place San Francisco on Thursday night.