See more of the story

The game that put the Vikings back over .500 for the first time in three weeks will not go down as the one that minted their status as contenders, not with a healthy batch of offensive issues surfacing against a 1-4 team traveling two time zones east.

Kirk Cousins had seven passes batted down at the line of scrimmage, and was sacked four times. His first-quarter interception came on an ill-advised throw as fled Benson Mayowa, and Chandler Jones' forced fumble triggered a Budda Baker return for a touchdown.

The Vikings also headed home fearing cornerback Mike Hughes was lost for the season; a league source said initial tests suggested the first-round pick tore an ACL.

But the Vikings, a work in progress though they might be, are on a win streak for the first time this year.

They rode the formula from an earlier part of the Mike Zimmer era to stave off Arizona 27-17 on Sunday, improving to 3-2-1 with a forceful ground game and a defense that denied Cardinals rookie quarterback Josh Rosen any chance to repeat what Josh Allen did at U.S. Bank Stadium three weeks earlier.

Where the Vikings struggled to protect Cousins, they succeeded in opening space in the middle of the NFL's second-worst run defense. A Vikings team that had only one 20-yard run all season — from wide receiver Stefon Diggs — got five on Sunday, with Latavius Murray making the most of a downhill running attack to become the team's first 100-yard rusher this season.

"We had way too many tipped balls today, so we have to fix that, but it was good to see the running game get going," Zimmer said. "I thought Latavius ran with a purpose, and I also feel like, at the end of the ballgame, our guys kept their pads low, fired off the ball. They had a bunch of guys lined up in the gaps, so we had to try and knock them off the ball in order to run the clock out, and that's what good teams do. You finish games by running the football."

The Vikings had planned to play Dalvin Cook for 20-25 snaps Sunday, according to a league source, but with Cook's hamstring injury keeping him out for the third time in four games, Murray gained a career-high 155 yards on 24 carries, the most by a Vikings back since Adrian Peterson ran for 158 against the Atlanta Falcons on Nov. 29, 2015.

And on the other side of the ball, there would be no repeat of Allen's performance in the Buffalo Bills' staggering Week 3 victory, not with Vikings defenders swirling around Rosen all afternoon like sharks circling a schooner.

Zimmer dialed up a sizable dose of blitzes for the first-round pick, with Mackensie Alexander racing through the line untouched for a first-half sack and Harrison Smith leveling Rosen on an overload blitz in the third quarter. The Vikings sacked Rosen four times, and were at their best when the quarterback needed a conversion; Arizona went 0-for-10 on third downs and failed to convert on a pair of fourth downs, including when David Johnson was stopped for no gain at the goal line.

"[Zimmer] called a great game," said linebacker Anthony Barr, who batted down a Rosen pass off a blitz and forced a Johnson fumble in the first quarter. "Kept them off-balance, mixed up the coverages, mixed up the blitzes and coverage, and we were able to execute for the most part. We had some things we needed to clean up, but for the most part, I thought we did OK."

The goal-line stop would be as close as Arizona would get to an offensive touchdown with the game's outcome still in question, though the Cardinals still tied the score 10-10 in the first half with Baker's fumble return touchdown following the fourth strip-sack of Cousins this season.

Jones had pressured Cousins on second down and forced him to step up into the pocket before Corey Peters took him down. On third down, he beat Rashod Hill again, ripping the ball away from Cousins. Baker took the recovery 36 yards, effectively muting the U.S. Bank Stadium crowd as he crossed the goal line.

The Vikings pulled ahead by three at the end of the first half, following a clunky two-minute drill. A 21-yard run by Mike Boone highlighted a 10-play, 75-yard touchdown drive to start the third quarter, though, and after the Vikings forced a three-and-out, Murray's 34-yard run put the Vikings inside the Cardinals 10, setting up Cousins' 7-yard score off a zone read play.

"Kyle Rudolph got me a really good block on the strong safety there," Cousins said. "It's one-on-one with him, so that block's got to get made. Then, I just read the end, and [it's a] pretty standard play. Both the receiver and Kyle did a great job of holding up to get me in there."

The Vikings, at this point, trail the 3-2 Bears in the NFC North by percentage points, with the Packers facing the 49ers at home on Monday night. After a road game against the Jets and a Sunday night home game against the Saints, they begin a stretch that could determine the outcome of their division title defense: three consecutive NFC North matchups, with a Week 10 bye wedged in the middle.

By that point, the Vikings will need to be at their best. Sunday's win, even though it was imperfect, could have them headed in the right direction.

"The way we have played the last two weeks is what they did last year," safety George Iloka said. "We just have to improve on that and just keep building. The sky is the limit."