McDonagh finished with 19-of-37 for 194 yards passing for the Vikings (2-3, 1-0 Big Sky). Nate Tago ran for 106 yards on 26 carries.
Portland State led 17-0 at the break on McDonagh's two scores and a field goal by Gonzales. The Vikings defense held UC Davis to just 70 yards in the first half.
But the Vikings would open the gap again on two more Gonzales field goals in the fourth to seal the win.
Lacy was 20 of 30 for 196 yards and two touchdowns for the Aggies.