James Snook-USA TODAY Sports

Rasir Bolton scored 23 points as No. 16 Gonzaga reached the 20-win plateau for the 26th consecutive season with a 99-81 victory against San Francisco in a West Coast Conference game Thursday night in Spokane, Wash.

Bolton hit 8 of 9 field goals and had a game-high six assists for the Bulldogs (20-5, 9-2 WCC), who rebounded from a 78-70 overtime loss Saturday at Saint Mary's. The Zags' streak of 20-win seasons is the second-longest current streak in NCAA Division I to Kansas' 32 in a row.

Drew Timme scored 21 points, Anton Watson had 15 points and a game-high 10 rebounds and Hunter Sallis tallied 13 points.

Timme scored 20 points in the first half as the Zags built a 60-40 lead. Timme's first field goal of the game was the 801st of his career, breaking the Gonzaga record held by Frank Burgess, and he moved into the conference's top 10 in all-time scoring.

Khalil Shabazz led San Francisco (15-12, 4-8) with 25 points and seven rebounds, but it wasn't enough to prevent the Dons from suffering their third consecutive defeat. Tyrell Roberts, a transfer from nearby Washington State, scored 16 and Zane Meeks added 14 points.

Gonzaga, which entered the game leading the nation in field-goal percentage (.520) and points per game (85.7), improved on both those numbers. It shot 34 of 64 from the field (.531).

The Zags scored the game's first eight points and never trailed. The closest San Francisco got in the second half was 14 points, 65-51 with 15:28 remaining. Gonzaga extended the lead to 28 points twice in the final 7:01.

The Bulldogs have won the past 26 meetings with San Francisco, dating to Feb. 18, 2012. The Zags have a 70-22 edge in the all-time series and have won 34 in a row at home against the Dons, including all 19 at McCarthey Athletic Center.

Former Zags guard Dan Dickau had his jersey retired Thursday, the fifth player in Gonzaga history to be so honored. He joined Burgess, John Stockton, Adam Morrison and Kelly Olynyk.

More must-reads:

TODAY'S BEST
Giants All-Star pitcher suffers setback in recovery from injury
Watch: Juan Soto's first multi-homer game as a Yankee
'Ain't good enough': Draymond Green claims Celtics must 'win it all' or it's a 'failure'
Raptors expected to flip former NBA champion during the offseason
MLB insider reveals Mets' massive extension offer that Pete Alonso turned down
Celtics legend provides update after gruesome finger injury
Bulls hire former NBA head coach as top assistant
Chiefs move on from young running back
20-year MLB veteran working out, unsure about playing future
USA Hockey names HC for 2025 4 Nations Face-Off and 2026 Olympics
Key Knicks forward ruled out for Game 7 vs. Pacers
Pacers' Pascal Siakam leads team to Game 6 win vs. Knicks
Watch: Matt Duchene's 2OT winner sends Stars to conference final
Scottie Scheffler shoots improbable 66 after warming up for PGA Championship in a jail cell
Report: Tua Tagovailoa away from Dolphins amid contract chatter
Nuggets star has worrying comment about latest injury
Paul Skenes makes incredible Wrigley Field history in second-career MLB start
Giants rookie CF to undergo season-ending labrum surgery
Yankees' Juan Soto reacts to Hal Steinbrenner contract talk
Late goal sends Panthers to Eastern Conference Finals