Northwestern has struggled with its passing game, using two quarterbacks and ranking at the bottom of the Big Ten in pass offense.
On Saturday, the Wildcats found success in their running game.
Kain Colter scored three rushing touchdowns and threw for another score as Northwestern defeated Iowa 28-17.
The Wildcats' quarterback rushed for a career-high 166 yards while Venric Mark ran for 162 yards to become Northwestern's first 1,000-yard rusher since Tyrell Sutton in 2006. The Wildcats rushed for 349 yards, their second-highest total of the season.
"With us running the ball as far as me and Venric and the offensive line, the biggest thing is we have unselfish receivers on the outside," Colter said. "They might not be catching passes, but they're doing a great job blocking."
Damon Bullock rushed for 107 yards for Iowa after missing the last four games with a concussion. Mark Weisman, a native of Buffalo Grove, Ill., exited late in the second quarter with an undisclosed injury and rushed for just 21 yards. He had been limited by a sprained ankle last week against Penn State.
Northwestern (7-2, 3-2 Big Ten) has won four of its last five against the Hawkeyes (4-4, 2-2).
The Wildcats collapsed in the fourth quarter in losses to Nebraska and Penn State. They held off a late rally by Iowa, which scored a touchdown late in the third quarter and another TD midway through the fourth quarter to cut the lead to 11.
Iowa made it 28-17 with 6:37 remaining on James Vandenberg's 1-yard run to cap an 84-yard drive after the Hawkeyes recovered a fumble.
Iowa drove to the Northwestern 24 with 1:44 left, but Vandenberg threw an incomplete pass on fourth-and-2 to end the threat. Vandenberg went 24 for 38 for 214 yards and ran for two touchdowns. Iowa finished with 336 yards, and Vandenberg was sacked three times.
"I thought we moved the ball pretty well, but we just weren't punching it down once we got to the 25, the 20," Vandenberg said. "We weren't able to get some things done. And against a team like that, that will score points, you've got to get seven when you put those drives together.
Northwestern has used two quarterbacks, Colter and Trevor Siemian, this season. On Saturday, Siemian completed his one pass attempt. Colter went 6 for 9 for 80 yards and a touchdown with an interception.
"Some of the things that we have done well have had Kain there at quarterback, so we made some decisions to kind of focus on that, and for the most part, that worked out efficiently today," coach Pat Fitzgerald said.
Both teams were looking to bounce back from crushing home losses.
Northwestern blew a 12-point lead in the fourth quarter against Nebraska, and Iowa was routed 38-14 by Penn State last week.
Northwestern jumped on Iowa early in its homecoming game. The Wildcats scored on their opening drive on a 5-yard run by Colter. He carried the ball five times for 43 yards, including runs of 18 and 20 yards, during the drive. Colter surpassed his previous career high of 161 rushing yards.
"He's dynamic. He's an explosive athlete who can do a lot of things and do them well," Fitzgerald said. "Every time he touches the ball, he has a chance to make a big play happen."
Iowa answered Northwestern's first touchdown with a 40-yard field goal. The Hawkeyes reached the NU 28, but Vandenberg fumbled a snap for a loss of 6 yards for third-and-14, and Iowa had to settle for the field goal.
Northwestern took a 14-3 lead after marching down the field 99 yards, with Mark running for 72 yards on the first play. Colter scored on a 2-yard run.
The Wildcats grabbed a 21-3 lead shortly after halftime. Northwestern started at the Iowa 4 after Tyris Jones blocked a Hawkeyes punt and Colter scored his third touchdown on a 4-yard rush.
Northwestern took control on Colter's 47-yard touchdown pass to Christian Jones with 10:43 left in the third quarter.
"When my name is called to throw the ball or do whatever, I'm going to step up to the occasion and do my best," Colter said. "I got an opportunity today, made some throws. I could have made a few better ones, but I'm going to keep working on and improving that part of my game."
Iowa scored its first touchdown on Vandenberg's run with 22 seconds left in the third quarter to make it 28-10.
NOTES: Northwestern is idle next week and plays at No. 20 Michigan on Nov. 10. . Wildcats left tackle Patrick Ward wore uniform No. 67 instead of his usual 70 in honor of former Northwestern lineman Leon Brockmeier, who died last month at age 34.