The Spartans (3-1, 1-0 Big Ten) dominated early, and their defense forced two crucial turnovers in the third quarter. Iowa (3-2, 0-2) managed only 19 yards rushing and has now lost its first two conference games for the first time since 2008.
Davis surpassed his career high in receptions before halftime and finished with nine for 114 yards. His touchdown catches of 22 and 6 yards gave Michigan State a 14-0 lead, and that was enough for the Spartans to come away with an important home victory.
"I think Felton did a great job of getting off the DBs," Lewerke said. "I trust him every time I throw him the ball."
Akrum Wadley scored for Iowa on a 9-yard run in the second quarter, but he was held to 30 yards on 17 carries.
The Hawkeyes trailed 17-7 at halftime but were on the verge of scoring on the first drive of the third quarter. After a successful fake field goal, Iowa was inside the 10-yard line, but quarterback Nate Stanley had the ball slip out of his hand as he began a throwing motion, and linebacker Joe Bachie came diving in to catch it out of the air.
Brandon Smith fumbled the ball away in Michigan State territory on Iowa's next possession.
The Spartans held on at the end after Lewerke scrambled for a first down on third-and-12 with under 4:00 to play. By the time Iowa got the ball back, the Hawkeyes were back at their own 16 with 45 seconds remaining.