The Bulldogs (16-3, 6-0 West Coast Conference) won their sixth consecutive game by building an 11-point halftime lead, extending it to 15 in the second half and then holding on down the stretch.
Gonzaga led 69-57 before Jordan Ratinho bombed in consecutive 3-pointers that closed the gap to six with 3:27 to play.
After the Dons got the ball back, Ferrari was turned away at the rim by Hachimura, and Johnathan Williams dropped in a jumper at the other end, allowing the Zags to increase the lead to 71-63 at the 2:04 mark.
San Francisco (10-9, 2-4) got no closer than six the rest of the way, with Hachimura, a 6-foot-8 sophomore from Japan, rejecting a Souley Boum shot in the final minute to help keep the Dons at arm's length.
Williams had 17 points and nine rebounds to lead the Zags, who remained atop the WCC standings on the eve of their showdown with rival Saint Mary's in Spokane, Wash., on Thursday.
Josh Perkins added 16 points and Silas Melson 14 for Gonzaga, which shot 52.8 percent from the field. Hachimura scored 10 points to complement eight rebounds and three blocks.
Boum tallied a game-high 22 points for San Francisco, which was opening a four-game homestand.
Ferrari had 18 points and Ratinho 16 for the Dons, who have lost two in a row. The two-game losing streak is just San Francisco's second of the season.
San Francisco scored more than half its points on 3-pointers, making 12 of 28 attempts from beyond the arc. Boum (four), Ratinho (four) and Ferrari (three) combined for 11 of the 12 successes.
Gonzaga took the lead for good with a 7-0 run early in the game that broke an 11-all tie. Hachimura and Williams hit jumpers and Perkins converted a three-point play in the spree.
--Field Level Media
Gonzaga | San Francisco | |
Johnathan Williams 17 | Scoring | Souley Boum 22 |
Johnathan Williams 3 | Assists | Frankie Ferrari 5 |
Johnathan Williams 9 | Rebounds | Nate Renfro 6 |
Silas Melson 4 | Free Throws Made | Souley Boum 4 |
Rui Hachimura 1 | Steals | Erik Poulsen 2 |
Rui Hachimura 3 | Blocks | Jamaree Bouyea 1 |
Team | Points | FG% | 3PM-3PA | FTM-FTA | Assists | Rebounds | Blocks | Steals | Turnovers |
Gonzaga | 75 | 52.8 | 7-19 | 12-17 | 7 | 39 | 4 | 4 | 13 |
San Francisco | 65 | 38.6 | 12-28 | 9-19 | 9 | 22 | 3 | 5 | 8 |