Rodgers connected with Jordy Nelson on scoring strikes of 11 and 76 yards in the first half, when the Packers built a 17-10 lead, and Green Bay (5-2) never trailed after that.
Rodgers finished with 285 passing yards without a turnover and Nelson made seven catches for 123 yards in the Packers' fourth straight win.
Micah Hyde returned a punt 93 yards for a touchdown and Eddy Lacy rushed for 94 yards and a score on 29 carries for Green Bay.
Christian Ponder, subbing for the injured Josh Freeman, went 14-of-21 through the air for 145 yards and added a rushing TD for the Vikings (1-6).
Adrian Peterson picked up 60 yards and a touchdown on 13 carries and Cordarrelle Patterson returned the game's opening kickoff 109 yards for a touchdown for the Vikings.