Iowa finished the season on a three-game winning streak — the second-longest in the Big Ten after Ohio State’s six — to cap off a 9-4 season. The Hawkeyes finished ranked No. 25 in the final AP poll, only the second time since 2009 that they’ve been in the season-ending  rankings.

It was a good year, but it could have been great. In all four losses, the Hawkeyes had a very good chance to win each game. All four losses were pure heartbreakers, which makes it pretty easy to put this list together. The 2018 season always will be remembered for the year that might have been.

Here are my five least-favorite moments from the Hawkeyes’ 2018 season:

1. Wisconsin’s precision comeback in fourth quarter

It was a huge September showdown in the Big Ten West and, at the time, a pairing of what we thought were the two best teams in the division. Iowa controlled the game throughout and it looked like they were prepared to put an early stamp on the division race when Noah Fant scored on a 1-yard pass from Nate Stanley with 1:37 left in the third quarter.

In the fourth quarter, Iowa’s stingy defense forced punts on Wisconsin’s first two possessions. But late in the quarter, Wisconsin quarterback Alex Hornibrook completed five consecutive passes on a 10-play game-winning drive that ended with 57 seconds to go on a Hornibrook pass to A.J. Taylor for 17 yards. A last-second Wisconsin touchdown after a Stanley interception made the final 28-17. It was a shocking loss because Iowa’s defense had been so good through the first four weeks of the season. Prior to the Wisconsin  game, the Iowa starters had only given up a total of one field in three games. That’s why it was so shocking to see Hornibrook pick them apart on the game-winning drive.

2. The bad Nate Stanley interception at Penn State

Iowa was 6-1 when it went to Penn State and still had total control over its own destiny in the Big Ten West race. This game was there for the taking, too. Penn State was leading 30-24 late in the game, but Iowa was marching for a game-winning score, which would have been huge on the road.

The Hawkeyes had gone 72 on 12 plays, eating up more than five minutes. But on first-and-goal from the 3-yard line with just 3:18 left, Stanley threw an interception in the end zone. He was looking for his favorite target, Noah Fant, but Fant wasn’t looking for the ball and it got picked off. Iowa coach Kirk Ferentz admitted after the game that he should have called timeout, since the Hawkeyes seemed confused. It was an awful way to lose a game that should have been won

3. The disappointing final game-winning drive by Purdue

The next week, Iowa had red-hot Purdue beat, too, but once again the Iowa defense faltered down the stretch, allowing a last-second drive to get beat 38-36.

It was unfortunate, because it wasted a good effort by Stanley, who had bounced back nicely with 275 yards passing. But on the final drive, Purdue’s used 11 plays and all of the clock to set up a 25-yard field goal by Spencer Evans for the 2-point win.

4. The two fourth-quarter fumbles against Northwestern

Northwestern hadn’t lost to a Big Ten West team all year, but when the Wildcats came to Iowa City on Nov. 10, the conference title was still up for grabs with a few breaks for the Hawkeyes.

It didn’t happen, as the Wildcats won 14-10 to clinch the division. What hurt the worst here was that the Hawkeyes had their chances, but fumbled twice in the fourth quarter. For a team that thrives on disciplined play, those turnovers were killers. It was a third straight loss in three weeks, and all three had been winnable games.

5. Missing out on more shutouts

Iowa’s defense was special most of this season, and they had shutouts against Maryland and Illinois. They could have had three more They allowed only 3 points to Iowa State early in that win, and against Northern Illinois and Northern Iowa,  they were pitching shutouts when the starters left the game. That could have been something special.