A 41-yard field goal by Walsh left Minnesota up 13-3 at halftime.
Peterson ran for 20 yards to get Minnesota's offense going. The Vikings took a 7-3 lead when Kyle Rudolph grabbed a 3-yard touchdown reception. Rudolph also had a 27-yard catch that drive.
Houston's Andre Johnson had seven receptions for 97 yards.
NOTES: The Texans wore decals with the initials S.H.E.S. as a tribute to the school shooting victims at Sandy Hook. ... Playing in his 137th game, Johnson got his 800th career reception on his first catch, making him the second-fastest player to reach the milestone. Marvin Harrison did it in his 131st game. ... Johnson has 100 catches this season, making him the fifth player in NFL history to have at least 100 catches in four or more seasons.