Tyler Haws added 15 points and Eric Mika had 11 as BYU (12-7, 4-2 West Coast Conference) had five players score in double figures. Collinsworth was 7 of 10 from the field and Halford hit 11 of 12 free throws.
BYU trailed 46-43 with more than 15 minutes remaining but used an 8-1 spurt to seize the lead, which it kept for the rest of the game.
It was just BYU's second road victory of the season and first in conference play. The Cougars now have won four in a row after a stretch of four consecutive losses, all on the road.
Cole Dickerson led San Francisco (11-8, 4-3) with 26 points, going 10 of 16 from the field while grabbing 14 rebounds.
Andrew White III will return to the Nebraska men's basketball team next season after removing his name from the NBA draft.
Mike Brey is looking at former Notre Dame players to fill two assistant jobs that have opened up with the departures of Martin Ingelsby and Anthony Solomon.
Purdue's 2016-17 prospects got a jolt Wednesday when forward Caleb Swanigan announced he will return for his sophomore season.