It was a splendid defensive performance full of sacks.
That's what the Vikings used in holding the Carolina Panthers scoreless for the final 50 minutes, and quarterback Sam Bradford engineered three second-half scoring drives in a 22-10 comeback victory Sunday afternoon at Bank of America Stadium.
"We went out and beat another great team," said Griffen, who departed with illness in the second quarter but returned and finished with three sacks. "We hit (Carolina quarterback Cam Newton), we tackled well and we ran to the ball."
The Vikings (3-0) recorded eight sacks and intercepted Newton three times.
"Whatever they were doing was effective," Newton said.
The game went off without incident despite protests in streets blocks from the stadium and unrest in recent days after the police shooting of Keith Lamont Scott. Police in riot gear surrounded the stadium as fans made their way into the game.
The outcome snapped Carolina's franchise-record 14-game home winning streak. The Panthers (1-2) have lost one more game than in all of the 2015 regular season.
Bradford completed 18 of 28 passes for 171 yards and one touchdown.
Newton was 21-for-35 for 262 yards.
"I can't really pinpoint it right now," Newton said of the offense's troubles. "It just can't happen. We have to hone in and be more thorough. ... They were dictating to us after they got the momentum."
Carolina managed only 101 total yards in the second half.
"I was sick, but I fought through it," Griffen said. "We got to keep it going. Winning is a lot of fun."
Vikings cornerback Captain Munnerlyn noticed Griffen's sudden energy.
"I don't know what medicine they gave him, but they need to give me some," he said.
Minnesota, which had only two first-half first downs, took the second-half kickoff and marched 79 yards in 10 plays for its first lead. Bradford's 15-yard touchdown pass to tight end Kyle Rudolph capped the drive and running back Jerick McKinnon tacked on a two-point conversion run.
Rudolph has a touchdown grab in each of the last three games against Carolina.
Walsh was good for 31 yards to conclude an 11-play, 49-yard drive with 5:07 to play.
The Panthers continued to sputter.
"We have to get better," tight end Greg Olsen said. "We only scored 10 points."
The Panthers were off to a strong start with a 10-0 lead before Minnesota defensive end Danielle Hunter sacked Newton for a safety with 1:44 to play in the first quarter.
"We had to stick to the game plan," Hunter said. "Everybody doing their jobs. We rushed the passer, which is what the coaches tell us."
Graham Gano began the scoring with a 48-yard field goal to end the game's first possession. Newton ran for a 3-yard touchdown on Carolina's next drive.
Gano's 54-yard attempt in the second quarter bounced off the right upright.
The Vikings converted off Carolina's bad field position when cornerback Marcus Sherels returned a punt 54 yards for a touchdown with 3:21 remaining in the first half. Walsh missed the extra-point kick, leaving the score 10-8 at halftime.
Running back Adrian Peterson's knee injury a week earlier caused changes for the Vikings' offense, with McKinnon filling in for Minnesota's all-time leading rusher.
McKinnon finished with 45 yards on 16 carries.
Running back Cameron Artis-Payne drew the starting assignment for the Panthers in place of injured Jonathan Stewart (hamstring) even though running back Fozzy Whittaker picked up 100 yards in a relief performance a week earlier against San Francisco.
Artis-Payne gained 47 yards on 12 attempts.
Carolina's previous home loss came Nov. 16, 2014, to the Atlanta Falcons.
NOTES: The Vikings lead the all-time series 8-5. The teams have split four games in Charlotte. ... Vikings CB Marcus Sherels has a franchise-record four career touchdowns on punt returns after his second-quarter score. ... Minnesota OG Alex Boone left in the second quarter with a hip injury. ... Inactives for Carolina included WR Brenton Bersin and LB Jeremy Cash, who were both in uniform a week earlier. ... Panthers LB David Mayo, a backup and special teams player, left with an injured left knee in the second quarter but came back in the second half. ... A game with the Kalil brothers was nixed with Vikings OT Matt Kalil (hip) going on the injured list. C Ryan Kalil starts for the Panthers. ... Vikings CB Captain Munnerlyn, who played for the Panthers from 2009-13 and still owns a home in the area, played against Carolina for the first time.