The Gaels (16-4, 8-1 West Coast Conference) scored 14 straight points to pull in front at 54-45 midway through the second half.
Bryce Pressley's 3-pointer with 1:22 left closed Portland (12-9, 3-6) within six, but Saint Mary's made 7 of 9 free throws to hold on from there.
Pressley finished 3 of 4 from 3-point range with 18 points, and Thomas van der Mars had 16 points and 13 boards.Kevin Bailey had 12 of his 13 points in the first half as the Pilots led by as many as six and went to halftime with a 31-30 lead.
Kerry Carter had 12 points, seven rebounds and four assists to help the Gaels bounce back from a 68-47 loss to No. 3 Gonzaga on Thursday.