Paul Egwuonwu added 14 points and seven rebounds for the Bobcats (4-7, 1-2 Big Sky).
Montana State led 52-38 with 7:35 remaining when Portland State went on a 15-1 run to tie the game at 53-53 with 3:05 to go.
Two jumpers by Egwuonwu and four free throws from Moon put the Bobcats ahead 61-53 with 12 seconds left. But McMullen hit a 3-pointer with 5 seconds remaining, then made a steal and another 3-pointer with 3 seconds left to make it 61-59.
Michael Dison hit 1 of 2 free throws for Montana State before a desperation 3-pointer by Dre Winston at the buzzer came up short.