EVANSTON — It felt like the 2015 season all over again.
Suffocating defense, an anemic offense and a hard-fought win.
This time Northwestern beat Iowa, though.
Northwestern's 17-10 overtime win Saturday, which defensive end Joe Gaziano called a "prototypical Big Ten game," was ugly. Yards came at a premium. There were mistakes. The home fans at Ryan Field booed.
For a while, it looked as if neither team would score.
"This is a defensive league," Pat Fitzgerald said. "You're fighting for every millimeter out there."
Northwestern scored just 10 points in regulation, after laying down a first-half donut. It was fighting for every millimeter.
All the while, the Wildcats' defense held up. Perennial Northwestern-gasher Akrum Wadley couldn't find running room for most of the day, totaling just 90 yards on 3.5 yards per carry.
The formula — setting the edge with the defensive ends and forcing Wadley to cut the ball up the field in the teeth of the defense — worked nearly flawlessly.
"It starts up front," Fitzgerald said. "I thought our defensive line, from the way they're preparing, it's showing up on Saturday."
Gaziano finished with two sacks, and freshman Samdup Miller added one of his own. That duo has stepped up in recent weeks.
After the first two weeks of the season, the defensive line as a whole appeared to be a weakness on the team. Now it might just be Northwestern's biggest strength.
"I don't see mental mistakes," Fitzgerald said. "I see us controlling our gaps, I see us fundamentally executing pretty well, I see when we make little small tweaks during the game, which we had to make a handful."
Fitzgerald's decision to run the ball to play for overtime with 1:30 to play and two timeouts was a function of the defense's huge success. Some of that reasoning had to do with the wind blowing directly against the offense, but Fitzgerald said postgame that he felt comfortable playing a 25-yard game in overtime with the way his defense was performing.
To be sure, it was a conservative choice. It's one Fitzgerald likely would've made back in 2015 with a ballhawking defense and an offense that struggled to move the ball. The difference now is that Clayton Thorson is a third-year starter, not a freshman. Not trusting him to win the game in that situation is telling.
Maybe the familiarity of the teams threw the Wildcats' offense off. Fitzgerald joked after the game that seeing Kirk Ferentz and his staff was like seeing a cousin. Iowa was also coming off of a bye. Regardless, the offensive gameplan didn't work.
What was most important was that Northwestern justified Fitzgerald's late-game choice by scoring a touchdown, getting a stop and winning the game in overtime. Sitting at 3-3, Northwestern was in a precarious position heading into Saturday, teetering on the fence between decent and mediocre. The Wildcats are probably still around an average team, but, in a sport defined by results in a season with just 12 games, this win mattered a lot. Plus, Northwestern hates Iowa.
"That game meant a lot for our seniors," linebacker Nate Hall said. "We all feel a lot of passion playing against Iowa."
The result, as crucial as it was, shouldn't color the performance, however. Iowa's defense is good, but not that good.
Given the offense's struggles, the defense's performance was that much bigger.
The same group that looked like a JV team against Duke's run-pass option system back in September looked like the Purple People Eaters-lite Saturday, delivering a performance that Northwestern badly needed.
It was gritty. It was painful. At times, it sucked.
But, like it usually was back in 2015, it was enough.