JACKSONVILLE, FLA. – For 55 minutes Sunday, the Vikings and the Jacksonville Jaguars passed control of their game back and forth as if they were trying to avoid getting stuck with the tackiest gift in a white elephant exchange.

There was a slew of field goals, the product of poor red-zone play by both offenses. There was a blocked punt, a swatted field goal and a missed extra point. Yellow flags littered EverBank Field for a total of 207 penalty yards.

In the end, it was the desperate Vikings who grabbed the darned thing — an ugly 25-16 win that kept their slim postseason hopes intact.

"You take it. It's tough to win the NFL. So you take them how they come," cornerback Captain Munnerlyn said after their first road win since Week 3.

Leading 18-16 with a little more than five minutes left, the Vikings took ownership of the victory with a 54-yard scoring drive. After struggling inside the 5-yard line all afternoon, they got the ball over the goal line with a 3-yard touchdown pass from quarterback Sam Bradford to tight end Kyle Rudolph.

Kicker Kai Forbath bounced back from a miss on his previous PAT to make it a two-score game with the extra point. The Vikings defense held firm at the end of the game. And then nose tackle Linval Joseph got one of his big mitts on a 61-yard field-goal attempt by Jaguars kicker Jason Myers.

In the days leading up to the game, coach Mike Zimmer had bemoaned the critical mistakes made by his team late in recent losses. So he was pleased to see all three phases come through in Sunday's must-win game.

"I think our mentality is good at the end of the game that we can go in and do these things. But it sure does help when you win," said Zimmer, who was back on the sideline after a one-game absence following emergency eye surgery.

Early on this sunny Sunday it seemed as if the Vikings would run away with an easy win. Bradford completed a pass of 40-plus yards on each of their first two drives, but both ended with a field goal. The three-pointers kept coming, giving the Vikings a 9-6 lead in the second quarter.

The Vikings had a chance to make it a two-score game before halftime, but their season-long short-yardage struggles continued, with running back Matt Asiata getting stuffed near the goal line on third and fourth down.

The Jaguars, aided by a pass interference penalty on cornerback Xavier Rhodes on third down, then drove 92 yards for a tying field goal.

After a miss by Myers in the third quarter, wideout Adam Thielen had a pair of first-down receptions, including the team's first third-down conversion of the game, to put Forbath in position for his fourth field goal of the day.

Aided by a mini meltdown by Rhodes, the Jaguars jumped ahead 16-12 with a 14-yard touchdown pass by Blake Bortles.

At the end of a chain-moving scramble by Bortles on that drive, Rhodes was flagged for holding, then again for barking at an official. Zimmer briefly benched Rhodes, and the Jaguars went right after his rookie replacement, Mackensie Alexander, who got called for a 22-yard pass interference penalty.

"Whether it was a good or bad call, I just have to go out there and play ball and not have a temper tantrum and hurt my team," Rhodes said.

After a brief cooling-off period, Rhodes was back on the field to watch Bortles throw that go-ahead touchdown to wide receiver Bryan Walters.

The Vikings answered with a 62-yard touchdown drive, with Asiata finally getting it done from the 1. That put them back on top, 18-16, in the first minute of the final quarter. But after tight end Rhett Ellison was flagged for a false start on the point-after kick, Forbath shanked his next try.

The Vikings were penalized seven times for 93 yards. Not to be outdone, the Jaguars committed 14 penalties for a total of 114 yards.

Midway through the final quarter, Asiata fumbled while diving toward the goal line. But with less than three minutes left, Bradford, who threw for 292 yards, put the victory away with his only touchdown pass.

The win was ugly, but it sure beats another moral victory in a close loss.

"I don't want them to be all excited that we lost 17-15 to Dallas, who's the best team in the league. There's none of these participation trophies that we're going to get," Zimmer said. "What we need to do is go win."

Matt Vensel covers the Vikings for the Star Tribune. matt.vensel@startribune.com