BALTIMORE (AP) -

This was what football used to be like in Minnesota before the Vikings began playing under a dome.

Snow, ice, wind, sloppy football, a field with yard lines that were virtually invisible.

The Vikings would have loved to remember Sunday's game against the Baltimore Ravens for the experience of playing — and winning — in the snow.

Instead, Minnesota absorbed another painful defeat, 29-26, and lost running back Adrian Peterson to a foot injury.

Joe Flacco threw a 9-yard touchdown pass to rookie Marlon Brown with 4 seconds left to cap a wild back-and-forth final 125 seconds that featured five touchdowns and five lead changes.

"We thought the game was over four times," defensive end Jared Allen said. "But they came back every time we scored."

The zany ending overshadowed a first half in which a driving snow left the field almost unplayable.

"I had always wanted to play in the snow, and I got my opportunity today," receiver Cordarrelle Patterson said. "We expected to win. And in the end, it wasn't what we expected it to be."

Brown's catch concluded a five-play, 80-yard drive that took only 41 seconds.

Before that:

— Dennis Pitta, in his season debut following a hip injury, caught a 1-yard, fourth-down touchdown pass from Flacco for 15-12 lead with 2:05 remaining.

— Toby Gerhart, subbing for Peterson, ran 41 yards for a touchdown to put Minnesota up 19-15 with 1:27 to go.

— Jacoby Jones went the distance with the ensuing kickoff to give Baltimore a 22-19 lead with 1:16 left.

— Matt Cassel threw a 79-yard touchdown pass to Patterson with 45 seconds to play.

Then the Ravens (7-6) answered with one final salvo.

"I've never seen a game like that before," Baltimore linebacker Terrell Suggs said. "Besides the Super Bowl, that's probably the most special win I've been a part of. Crazy game."

Baltimore has its first three-game winning streak of the season and the inside track for the second AFC wild card.

Minnesota (3-9-1) lost Peterson in the second quarter, then dropped a game it appeared to have won. At least twice.

"There were so many momentum shifts in the last couple of minutes. It seemed like the game would never end," Cassel said.

Peterson, the NFL's leading rusher and 2012 MVP, hurt his right foot in the second quarter after catching a short pass and being tackled near the sideline by linebacker Arthur Brown.

"We did X-rays, and it came back pretty clear," said Peterson, who finished with 13 yards on seven carries. "The next step is to get an MRI done (Monday) and find out more."

Gerhart gained 89 yards on 15 attempts. Cassel went 17 for 28 yards for 265 yards.

Flacco completed 28 of 50 passes for 245 yards and three interceptions.

"It was unlikely that we win this game today," Flacco said, "but we did."

The Vikings took their first lead, 12-7, when Cassel threw an 8-yard pass to Jerome Simpson after an interception by safety Andrew Sendejo. Baltimore then moved to the Minnesota 21 before Vonta Leach was stuffed on fourth-and-1.