MINNEAPOLIS (AP) Minnesota Vikings safety Harrison Smith ripped off his helmet once the victory was finally secured, after a 29-point lead on the Pittsburgh Steelers late in the third quarter evaporated into yet another teeth-clenching finish.
Smith looked exhausted and exasperated, hardly excited at all. These Vikings don't make anything easy on themselves.
Dalvin Cook rushed for 205 yards and two touchdowns in his faster-than-expected return from a shoulder injury, and the Vikings held on to beat the Steelers 36-28 by forcing an incomplete pass in the end zone on the final play Thursday night.
Ben Roethlisberger's throw to Pat Freiermuth was on target, but Smith smashed into the rookie tight end at just the right moment to dislodge the ball as Xavier Woods and Anthony Barr converged. That gave the Vikings (6-7) a critical victory after they flirted with an unforgivable loss.
''It is frustrating having to come down to the last second. It's taken a few years of my life this season, but it's good to be on this side of a close one,'' Barr said.
All but one of Minnesota's games this year have been decided by eight points or less, including four losses by three points or fewer.
''Never say `over' with this team,'' said coach Mike Zimmer, who watched the Vikings lose 29-27 last week at previously winless Detroit on a last-play touchdown pass.
The Steelers had fared much better in these close finishes this season, but they weren't trying to erase 29-point deficits in those other situations, either.
''We're running out of time,'' Roethlisberger said. ''I don't look at moral victories.''
Just as vital as all the turf he tore up on the ground was the 17-yard catch Cook made on a seam route on third-and-9 from the Minnesota 26 with 2:38 left. That forced the Steelers to use all their timeouts, leaving Roethlisberger 96 yards and 2:16 to go after Jordan Berry pinned a punt deep against his former team.
Roethlisberger hit Chase Claypool for 48 yards while Bashaud Breeland was committing pass interference to reach midfield. Claypool pulled in a fourth-and-1 slant to reach the Minnesota 34 but cost the Steelers a handful of seconds by celebrating the first down rather than immediately tossing the ball to the referee.
Diontae Johnson set up the last play from the 12 by taking a crossing route 12 yards out of bounds, but the Steelers (6-6-1), who failed on a 2-point conversion try earlier in the fourth quarter, wound up just short this time. Last week, they hung on to beat Baltimore 20-19 by denying a 2-point try with 12 seconds remaining.
Coach Mike Tomlin wasn't all that impressed by the comeback.
''We were JV again tonight, and I'm talking up front on both sides,'' Tomlin said.
Star outside linebacker and NFL sack leader T.J. Watt injured his groin early in the second quarter and did not return. The Vikings had a 300-66 advantage in total yards in the first half.
Roethlisberger, who was sacked five times, threw touchdown passes to Najee Harris, James Washington and Freiermuth in the second half. Harris ran for a score, too, as the Steelers recovered from their abysmal start.
Ahkello Witherspoon intercepted Kirk Cousins twice after halftime to fuel the rally. With Adam Thielen sidelined by an ankle injury, Minnesota's passing attack was out of sync.
Cousins went 14 for 31 for 216 yards, hitting Justin Jefferson for a first-quarter touchdown and K.J. Osborn for a 62-yard score early in the fourth quarter that made it 36-20.
''There's some good out there. There's some bad out there. We'll have to go back and watch and see what it really was,'' Cousins said.
Just 11 days after Cook dislocated his shoulder, keeping him out of last week's loss at previously winless Detroit, he lined up in the backfield and enjoyed the most running room he's seen all season. Cook set a franchise record with 153 rushing yards in the first half, and he needed only 14 carries to do it. The Steelers are allowing the most average yards per rush (5.0) in the league.
The Vikings trampled the Steelers with their zone blocking scheme, creating gaping holes for Cook to burst through and minimizing the contact with his still-healing shoulder. The Vikings averaged more than 10 yards per play in the first quarter.
''Once I told 'em I'm good, I'm good,'' Cook said.
Minnesota's Greg Joseph pulled a 53-yard field goal left and sent his first extra point try wide right. Chris Boswell also hooked a 49-yard attempt left, just his second missed field goal of the season for Pittsburgh to end a streak of 20 straight makes. This was the first NFL game since at least 1991, as far back as Sportradar data goes for this research, with two missed field goals and a missed extra point in the first quarter.
Steelers: CB Joe Haden (foot) missed his fourth straight game. ... John Leglue made his first NFL start, filling in at left guard for B.J. Finney (back). Leglue became the fourth starter at LG this year. ... OLB Alex Highsmith (knee) was hurt in the third quarter and did not return.
Vikings: LT Christian Darrisaw (ankle) sat out for the second straight game. Oli Udoh took Darrisaw's place, and Mason Cole played right guard for Udoh. ... Backup LB Ryan Connelly appeared to seriously injure his knee covering the second half kickoff.
The Steelers host Tennessee on Dec. 19. They're 4-0-1 in their last five home games.
The Vikings visit Chicago on Dec. 20, giving them 10 full days between games.
More AP NFL coverage: https://apnews.com/hub/NFL and https://twitter.com/AP-NFL