Safety Harrison Smith, despite his fumble recovery, sack and interception, said Sunday's 24-16 win against the 49ers wasn't one of his best games.

Sometimes, Smith said, his best games happen when you don't notice him at all.

"You see the splash plays, which is cool," Smith said. "Those change games, but some of my best games have been two-, three-tackle games where I didn't even have a pass breakup but I was exactly where I needed to be all the time and it goes unnoticed."

Smith was hard to miss Sunday, especially in the fourth quarter. That's when the Vikings needed the most from their reigning No. 1 defense and they, along with Smith, came through. Leading 24-16, a shanked Vikings punt put the 49ers near midfield.

So, on third-and-5, Smith crept to the line and blitzed untouched to sack quarterback Jimmy Garoppolo. Smith then sealed the win on the next drive, undercutting a route to intercept Garoppolo with 1 minute, 45 seconds left.

"Those are big plays that obviously help us win," Smith said, "but there [are] a lot of plays that I could have played better on, definitely."

Richardson stands out

Defensive tackle Sheldon Richardson made his presence felt immediately. In his first Vikings game since signing a one-year, $8 million contract, Richardson had three run stops and three hits on Garoppolo, including one sack.

One hit led to a 15-yard penalty for roughing the passer, seemingly highlighting the NFL's rule emphasis dissuading defenders from driving quarterbacks into the ground. Richardson said he disagreed with the call, calling it a "perfect form tackle" and asking, "What else do you want me to do?"

"They want it driven by QBs like they're the only people getting paid," Richardson said.

Errors educate Kearse

When his named was called to play against the 49ers on Sunday, safety Jayron Kearse thought about Bears running back Jordan Howard's 69-yard touchdown run two years ago. Kearse kept in mind the bad angle he took in Chicago in 2016, when he made his first start for the Vikings and allowed a big touchdown run.

"Kearse, a third-year safety, wanted to make the most of his chance this time.

He had a big role as the slot defender when cornerback Trae Waynes exited the game — forcing Mike Hughes to move to left corner and Kearse into the slot. Kearse was flagged twice, one declined, but otherwise played a clean game.

"Now in Year 3, I got that same opportunity," Kearse said. "I just told myself, go out and play football."

Waynes exits game

Waynes left Sunday's game in the second quarter after injuring his right knee. He did not return. In his place, cornerback Holton Hill finished a series before the Vikings moved Hughes from the slot out to left cornerback and put Kearse in the slot.

Four 49ers players left the game because of injuries. Receiver Marquise Goodwin left with a quad contusion, guard Mike Person suffered a foot injury, and his replacement, Joshua Garnett, also left in the third quarter because of a foot injury. Linebacker Brock Coyle suffered a head and/or neck injury that knocked him out of the game with five minutes left.