IOWA CITY — Riley McCarron played the game of his life Saturday.

But, the Iowa receiver left Kinnick Stadium feeling miserable and he wasn’t alone.

“This team is capable of so much more,’’ McCarron said. “We’ve got to get it fixed.’’

Northwestern handled the Hawkeyes 38-31, Iowa’s first Big Ten loss in 10 games and the latest in a string of struggle-filled performances in nearly every facet.

The Hawkeyes’ struggle to run the ball continued, as did an inability to slow opposing rushing attacks. Throw in costly penalties and issues in protecting quarterback C.J. Beathard and Iowa stumbled across that fine line between winning and losing.

“We’re not playing good enough football to win games,’’ linebacker Josey Jewell said. “That’s on all of us. We’re giving up too many big plays, making too many mistakes. We have our moments, but the consistency, it’s not there yet and we’ve got to get that turned around.’’

Coach Kirk Ferentz shares his team’s frustration, saying Iowa’s issues seemingly start with Iowa.

“A lot of it is self-inflicted quite frankly,’’ Ferentz said, pointing to an offensive facemask call followed by a false start on consecutive plays that turned a second-and-one situation at the end of the first quarter into a second-and-21 problem to begin the second.

“We’re not good enough to dig out of those kinds of situations, especially when we put ourselves in a hole,’’ Ferentz said. “We’ve got to make sure if we’re in a hole it’s because the defense put us there, not ourselves.’’

The Wildcats, in desperation mode themselves after a 1-3 start to the season, did their part.

While Iowa was being flagged for six penalties that cost the Hawkeyes 70 yards, Northwestern doubled its season sack total by dropping Beathard six times for losses totaling 42 yards.

“You can’t play offense like that,’’ offensive guard Sean Welsh said. “We were our own worst enemy a lot of the time and you can’t get away with that in the Big Ten.’’

The sacks helped the Wildcats limit Iowa to 79 rushing yards, the second time in three games the Hawkeyes haven’t managed to crack the century mark on the ground.

On the other side of the ball, Northwestern running back Justin Jackson was piling up 171 yards on 26 carries busting through a tackle attempt by Miles Taylor to score on a 58-yard carry with 2 minutes, 7 seconds left in the second quarter that broke a 24-24 tie.

The Wildcats never looked back, forcing a three-and-out by the Hawkeyes on the ensuing series and grabbing a 38-24 lead on Austin Carr’s third touchdown reception of the day.

His 25-yard catch with 12:06 left in the game ended a penalty-extended drive and was part of an 18-for-30 performance by Clayton Thorson that covered 164 yards including earlier touchdown catches of 11 and 16 yards by Carr.

“The difference today was the way we were able to finish in the second half,’’ Northwestern coach Pat Fitzgerald said. “… For us to weather the storm and not to flinch after they went on a 17-0 run I thought showed some maturity from this group and to get the finish was critically important.’’

The effort came after Iowa (3-2, 1-1 Big Ten) overcame an early 17-7 deficit, opening a 21-17 halftime lead on a 15-yard touchdown catch by McCarron with 2:51 remaining in the second quarter.

Sign up for the Hawkmania Newsletter

Get our comprehensive Hawkeyes coverage delivered to your inbox

McCarron caught a career-high eight passes for 78 yards and had a 38-yard punt return which set up a drive that led to a 24-yard Keith Duncan field goal which extended the Iowa edge to 24-17 with 11:29 left in the third quarter.

“There are times when we get in a rhythm, but we haven’t been able to sustain it yet,’’ said Beathard, who completed 19-of-27 passes for 204 yards. “That’s the frustrating part. It’s there, but we haven’t been able to keep it going.’’

That proved to be the case in the fourth quarter.

Iowa did answer Northwestern’s final touchdown, with Beathard hitting Jerminic Smith in play action on a 46-yard pass play to the three-yard line, positioning LeShun Daniels to score on a one-yard carry with 8:10 remaining in the game.

The Hawkeye defense followed by forcing a quick punt, but the Wildcats (2-3, 1-1) used Ifeadi Odenigbo’s fourth sack of the game to stall Iowa’s next possession.

Odenigbo blew through the left side of the Hawkeye line, delivering a hit which forced a fumble by Beathard in addition to an 11-yard line.

Another three-and-out provided Iowa with one final chance, but an interception by Trae Williams with 58 seconds remaining allowed Northwestern to run out the clock.

“This is a gut check for us,’’ McCarron said. “We have to go back, figure out what we did wrong and get it turned around. It’s frustrating for all of us. At times, it feels like we’re close. It’s there for one quarter and then the next, it’s not. That’s a tough way to play this game.’’