Defense and special teams have been the Utah Utes' calling cards all season long. It was no different Wednesday night, as those two phases of the game shined while the offense did just enough to push the Utes to a 26-24 victory in the Foster Farms Bowl over the Indiana Hoosiers in San Francisco.

Trailing 24-23 with 5:34 remaining, Utah was carried by running back Joe Williams down the stretch, and Andy Phillips made the game-clinching field goal with just over a minute remaining to give the Utes the win.

Here's how Utah fared in each phase of the game:

Offense: On a night when starting quarterback Troy Williams struggled and freshman signal caller Tyler Huntley was more prominently featured with mixed results, running back Joe Williams was absolutely outstanding, rushing for a bowl record 222 yards on 26 carries in his final game as a Ute.

Williams' play in the fourth quarter was particularly big, as he put the offense on his shoulders when Utah got down late.

Grade: C

Defense: Wednesday was an interesting night for a Ute defense that has been stout throughout the season. The defensive line played true to form, coming up with big plays and otherwise bothering Hoosiers quarterback Richard Lagow, but the unit as a whole also gave up numerous big plays and long drives.

Although Indiana's back was against the wall in the final minute, Utah ultimately came up big when it mattered most.

Grade: B

Special teams: Utah wasn't perfect on the night here, as punter Mitch Wishnowsky barely got one off early, and nothing significant happened in the return game.

But in the final contest of what has been an illustrious career, Phillips was remarkable, going 4-for-4 on field goal attempts, including the game-winning kick from 27 yards out.

Grade: B+

While the Utes' performance brought frustration from fans on Twitter throughout the game, the team followed the script it has been writing all year in doing just enough to come away with the win.

Overall grade: B

Ryan McDonald is a sports reporter at Follow him on Twitter @ryanwmcdonald.