Kirk Cousins threw for 373 yards and three touchdowns against the league's top-ranked pass defense, including a 27-yard touchdown pass to K.J. Osborn on the first possession of overtime to lift the Minnesota Vikings to a wild 34-28 victory over the Carolina Panthers on Sunday.
Dalvin Cook ran for 140 yards and a score and Adam Thielen had a number of big catches, finishing with 11 receptions for 126 yards and a touchdown.
"I'm spent," an exhausted Cousins said after the 3-hour, 41-minute game. "It's an absolute grind and it takes everything you got."
The Vikings (3-3) had not scored a second-half touchdown in their previous four games, but Cook broke the streak with a 16-yard touchdown run to give the Vikings the lead and Cousins added a 5-yard touchdown pass to Thielen in regulation before the game-winner to Osborn.
The Vikings had 379 yards after halftime and 571 for the game.
"That's something that we emphasized this week in practice and we talked about it in our meeting room the last couple of weeks," Osborn said. "We said, 'we've got to score points in the second half.' So it felt good."
"I thought we stuck with (the running game) a little bit better," Vikings coach Mike Zimmer said of his team's second half. "We ran the ball some, we hit a couple play-actions off the boots. That was big, so we got some big plays off of that. They were really closing in hard on the running game, trying to catch us on the back side on some of the zone plays."
The Vikings appeared to be in control in the fourth quarter, but Greg Joseph missed two field goals, including a potential winner from 47 yards at the end of regulation to keep Carolina's hopes alive.
Carolina's Sam Darnold finished 17 of 41 for 207 yards with one touchdown and two turnovers and nearly pulled off a wild comeback, bringing Carolina back from an 11-point fourth-quarter deficit to force overtime.
Trailing 28-20 with 2:09 to play, the Panthers had to go 98 yards to force overtime.
Darnold hit Ian Thomas down the seam for a 41-yard gain on fourth-and-10 from the Carolina 4 then found D.J. Moore, who had dropped a pass on the previous play, for a 25-yard gain down the left sideline on a fourth-and-6. He capped the drive with a 7-yard TD pass to Robby Anderson and threw a shovel pass to Tommy Tremble for the 2-point conversion to tie the game at 28 with 42 seconds left.
But the Vikings won the coin toss and Cousins quickly moved his team into scoring range, finding Osborn, who beat safety Sean Chandler and reached the ball across the goal line to score the winner.
"What I love about K.J. is his ability to go get it and his ability to finish," Cousins said.
Osborn said the Vikings didn't get down when Joseph missed the two kicks.
"We've always got to rally around him," Osborn said. "That's our guy. I'm not the type of person and looks at woulda, coulda, shoulda. We're in the situation and this is what we've got. He missed it. OK. Let's go over and clap him up. We're still behind him because he's our guy."
The Panthers might have known it was going to be a tough day when Darnold threw downfield to Anderson on a comeback route on the first play from scrimmage and was intercepted by Bashaud Breeland.
It was the first of many Carolina miscues.
Carolina's first half was marred by dropped passes, mental errors and poor clock management. On their final drive of the second quarter, the Panthers were called for a delay of game after taking a timeout to set up a play. Darnold tried to call a second timeout as the play clock wound down, but NFL rules prohibit back-to-back timeouts. The comedy of errors continued on the next play as the Panthers were flagged for holding, costing them a chance at a go-ahead field goal.
Carolina had three turnovers.
"We just can't win that way," Panthers coach Matt Rhule said.
TOO MANY DROPS
Moore and Anderson combined for six of Carolina's eight drops, and Moore also turned the ball over on a fumble.
"What Sam needs right now is a little help from his friends," Rhule said.
Said Moore: "I have to make those plays to help Sam out. I can't speak for Robby, but I know he's upset about it too."
The Panthers are 3-0 with Christian McCafffrey in the lineup and 0-3 without him.
"We have to figure out with Christian out, what our identity is," Rhule said. "People are playing a two-man thing on D.J. (Moore) to make sure he doesn't catch the ball. We tried Robby and some other guys. ... Those guys have to make some plays and we have to help them find ways to make plays."
The Panthers put McCaffrey on injured reserve on Saturday and will be without him for at least two more games.
"The doctors felt it was the right thing to do to get him truly healthy," Rhule said.
Cook said he wasn't 100% healthy after missing last week's game with an ankle injury, but you'd never notice it with how hard he ran the ball.
"He's huge," Osborn said. "Just being here ever since I've been here. Just his leadership in the locker room, in the weight room. And then the plays he's goes out and makes are special. That's what makes him the best back in the league."
Vikings: CB Patrick Peterson was helped off the field with a lower body injury with 2:03 left in the fourth quarter.
Panthers: Wide receiver Terrace Marshall left the game in the first half after taking a vicious hit from Vikings safety Xavier Woods, who was flagged for an illegal hit. WR Alex Erickson left in the second half with a concussion.
Vikings: Have a bye next weekend, then host the Cowboys on Oct 31.
Panthers: Visit Giants on Sunday.
K.J. Osborn chucks helmet, breaks out LeBron's celebration after walk-off TD
Kirk Cousins passes to K.J. Osborn, who does the rest on the Vikings' winning touchdown in overtime and celebrates with LeBron's "silencer."