On Sunday, the Vikings' last-second loss to the previously winless Lions dropped them to 5-7, putting them perilously close to losing the chase in the NFC's wild-card derby.

Faced with a chance to save their postseason hopes, the Vikings responded Thursday night with their most dominant half of the season on the way to a 29-0 lead over the Pittsburgh Steelers. For most teams, that would have been enough to ensure an easy victory. These Vikings, as has been well established by now, are not most teams.

It took all the Vikings had, down to Harrison Smith punching the ball away from Steelers tight end Pat Freiermuth on the final play of the game, for them to escape with a 36-28 victory at U.S. Bank Stadium.

Dalvin Cook ran for 205 yards on 27 carries in his return from a shoulder injury.

The Steelers scored four second-half touchdowns and drove 84 yards to the Vikings 12-yard line with a chance to send the game into overtime before Smith broke up Ben Roethlisberger's final pass in the end zone, ensuring the Vikings would improve to 6-7 before a Dec. 20 Monday night game in Chicago.

"You know, that team that played in the first half for us was pretty darn good and I think could probably beat anybody," coach Mike Zimmer said. "That team that played in the second half probably could get beat by anybody."

It was the 10th Vikings game this season to come down to the final play, in a year that linebacker Anthony Barr joked has taken years off his life. Zimmer wryly added, "We kept the TV ratings up. Every week now we do that."

It appeared for much of the night it would not be that way: By halftime, the Vikings had outgained the Steelers 300-49. They led 23-0 after two quarters, and had stretched the lead to 29-0 before Pittsburgh scored in the third quarter.

Their receivers, though, contributed to a pair of second-half interceptions that catalyzed the Steelers' comeback. Pittsburgh linebacker Devin Bush got a hand on Kirk Cousins' throw over the middle to Justin Jefferson, but the receiver missed a chance to secure the pass, as it bounced off his hands for the first of Ahkello Witherspoon's two interceptions.

On Witherspoon's second interception, Osborn struggled to get off press coverage as Cousins threw a slant. The cornerback returned the pass to the Vikings 21, setting up the Steelers' final score when Bashaud Breeland slipped trying to defend Freiermuth's cut and Roethlisberger hit the tight end for a touchdown.

"There's a lot of options [on the play]: I can take a sack, I can try to run," Cousins said. "I felt like we might get a pass interference call. If he just runs the slant, I just felt at worst it's a breakup and it's incomplete, we might get a [pass interference penalty], we might get a completion. But obviously that wasn't the outcome."

Kris Boyd drew a 37-yard defensive pass interference penalty before Roethlisberger hit Washington for a third-quarter touchdown, and Chase Claypool beat Breeland for a 39-yard gain on the Steelers' final drive (on a play where Breeland was also flagged for pass interference).

In the first half, the Vikings emptied their backfield on a number of passing downs, using deep crossing routes to fillet a Steelers secondary playing without cornerback Joe Haden. Their offensive line escorted languid Pittsburgh defenders out of Cook's way, then pinned them there as the running back picked from a buffet of wide-open gaps.

BOXSCORE: Vikings 36, Pittsburgh 28

Cook had pushed to play after getting two days of limited practice this week, and the Vikings cleared him to return only 11 days after he'd dislocated his left shoulder and torn his labrum against the 49ers. He played with a harness on his shoulder, just as he'd done when suffering the same injury to his right shoulder in 2019, and responded with a first half for the history books.

Cook ended the first half with 153 yards, breaking the franchise record for rushing yards in a first half that Adrian Peterson set with 144 against the Seahawks in November of 2012. His electrifying first half put him on pace to break the NFL single-game rushing record of 296 yards that Peterson set against the Chargers in 2007, and he ended the night with 205 yards, one short of the career high he set last November against the Lions.

"Shout-out to the trainers, coaches, everybody that adds something — the strength and conditioning coaches — for me getting back so quickly," Cook said. "It was devastating, just me going down that week. So I'm just happy to be back, happy we got the win, and my coaches know, once I tell them I'm good, I'm good. There's no holding me back. Just turn me loose. I just appreciate them for believing in me, just trusting in who I am."

When the Vikings needed to throw, Cousins looked for Jefferson early and often, targeting him with 15 of his 31 passes. He hit the receiver on the Vikings' first two offensive plays, then nearly hit him for a 62-yard touchdown on one of the most sublime throws of the quarterback's career: A rainbow beyond two Steelers defenders and just a fingertip beyond Jefferson in the back of the end zone.

Greg Joseph missed a field-goal attempt on the drive, but Steelers kicker Chris Boswell also missed wide left on the next possession, and after Cook surged for 30 yards, Cousins hit Jefferson for an easy touchdown: A 14-yard score off a deep crossing route that left the receiver wide open.

Cousins and Jefferson nearly connected for another TD on the Vikings' next drive, though a Chris Wormley hit on the quarterback led to a throw that was just a bit too far for Jefferson. It turned out to be one of several throws that bounced off the receiver's hands.

Joseph kicked a field goal, and after a Steelers three-and-out, the Vikings went up 16-0 on a touchdown drive built off four plays that went for more than 10 yards: A 22-yard Cousins-to-Jefferson connection on another deep crosser, a 15-yard Cook run, a 19-yard throw from Cousins to Tyler Conklin and a 29-yard scoring run from Cook.

While the Vikings offense shredded the Steelers, their defense went after Ben Roethlisberger with a menu of Zimmer's old special: The double-A gap blitz he'd used many times in 14 previous matchups with the Pittsburgh quarterback. The Vikings sacked Roethlisberger five times in the game's first three quarters, with Breeland intercepting a third-quarter pass he threw behind Diontae Johnson.

"The situations of games haven't allowed us to be in that [blitz] as often as we'd like to be. it's still something that we like to do," linebacker Anthony Barr said. "It's just when we have those opportunities like we did today, taking advantage of them I think gives coach a little more confidence to call them when they're getting home."

They could not get to him in the fourth quarter, though, and as the two-time Super Bowl champion drove the Steelers downfield, Zimmer admitted his mind drifted to the worst possible outcome.

Asked if he was thinking, "Here we go again" on the final drive, Zimmer responded, "Yeah, the whole time."

Claypool did the Vikings a favor on the final drive, celebrating a 9-yard fourth-down catch over the middle. Fourteen seconds ticked off the clock as officials struggled to spot the ball before Roethlisberger could spike it.

The Steelers only had time to run four more plays. Roethlisberger hit Ray-Ray McCloud for 10 yards, threw incomplete in the end zone for McCloud and Johnson eluded Vikings defenders to get out of bounds with two seconds left after a 12-yard catch over the middle.

The quarterback threw a perfect ball over the middle for Freiermuth, who appeared for a second to make a diving grab. But as Smith and Barr converged, the safety made the play that would deny Pittsburgh a chance to tie the game on a two-point conversion. Had the Steelers won, their comeback would have been the largest in NFL regular-season history.

For now, though, the Vikings remain relevant, as close to a playoff berth as they are to a reckoning.

"Closing out a game with defense is something we've prided ourselves on around here for a long time," Barr said. "Even though it shouldn't have come to that, it felt good."