Mario Dunn and Michael Weisner scored 12 apiece, Weisner had four 3-pointers, and Montana (11-8, 7-1 Big Sky Conference) made 10 of 20 from distance.
Montana led 14-7 on a layup by Breunig, then pulled ahead on a 7-2 run. The Vikings closed with a 10-3 run in which Zach Gengler scored five, but trailed 32-31 at halftime.
Montana opened the second half with a 15-2 run, then scored 19 unanswered points while the Vikings went scoreless for nearly eight minutes.
Gregory's layup with 4:04 left marked his 1,000th career point, making him the 29th player to score 1,000 or more at Montana.
The Grizzlies outscored the Vikings 41-23 in the second half and shot 54.9 percent overall.
DaShaun Wiggins led Portland State (10-9, 4-5) with 17 points.