Haws now has 2,614 points, eclipsing Fredette's 2,599. Haws also reached double figures for the 117th time, tying Danny Ainge for the most in school history.
Skyler Halford added 19 points and Kyle Collinsworth, who made all seven of his free throws, had 15 points and 11 assists for the Cougars (22-8, 12-5), who conclude the regular season at third-ranked Gonzaga on Saturday.
BYU led by two with 3:33 remaining when it scored 13 unanswered points, including six from Haws, to lead 82-67 with 1:15 left.
Kevin Bailey made all nine of his free throws and scored 18 points for the Pilots (16-13, 7-10) before fouling out with 2:18 left. Bryce Pressley added 16 points and Alec Wintering 13. Portland gave up 23 points off 19 turnovers.