The Vikings' third game of the preseason came on Sunday night before a national TV audience at U.S. Bank Stadium, 364 days after a nationally televised preseason game at U.S. Bank Stadium showcased a team in fine form behind quarterback Teddy Bridgewater.

If that weren't enough of a reminder of how many qualifiers must be attached to an exhibition game, the San Francisco 49ers provided some more.

Under new coach Kyle Shanahan, the 49ers showed up with a bag of tricks for a Vikings team that typically doesn't spend much time preparing for specific opponents in the preseason. San Francisco threw blitzes and stunts at the Vikings offensive line, while 49ers quarterback Brian Hoyer mixed throws to the second level of the Vikings defense with a deep shot to Marquise Goodwin.

But if the Vikings hoped to turn their third preseason game — and their first with most of their offensive starters on the field — into a statement about their readiness for the regular season, this — even though it was a 32-31 victory on a TD and two-point conversion on the game's final play — was not it.

Assuming many Vikings offensive starters sit out Thursday's preseason finale against Miami, the team will have produced three points in 12 drives with Sam Bradford on the field, punting five times on Sunday night before a two-minute drill closed with time expiring at the end of the first half.

After trailing 14-0 at halftime, the Vikings rallied for 17 points in the third quarter, with Marshall Koehn hitting a 58-yard field goal with room to spare, Rodney Adams slithering through the 49ers defense for a 9-yard touchdown from Case Keenum and Jerick McKinnon potentially staking his claim to the kick returner job with a 108-yard burst at the end of the quarter.

Heinicke led a 14-play, 63-yard drive in the final three minutes, with Terrell Newby scoring on a 1-yard run as time ran out. Then, Heinicke scrambled to his right on a two-point conversion, stretching the ball over the pylon to complete the comeback.

The frantic comeback made for good fun, but the Vikings' issues remained.

"The biggest thing is just, 'Did you win that individual battle?' " wide receiver Adam Thielen said. "It doesn't matter what play is called. It might be a basic play at this point, and being in preseason, you're not going to show all your cards. But at the same time, it doesn't really matter, because you're going to have basic plays during the regular season, and you've got to make them work."

Bradford completed 17 of his 21 passes for 134 yards, but was sacked three times and saw two passes bounce off Stefon Diggs' hands. The Vikings offense was called for three penalties in the first half; Mike Remmers was penalized for an illegal formation, Latavius Murray's catch of Bradford's Brett Favre-like flip was nullified after Murray stepped out of bounds before catching the ball and Nick Easton was called for a holding penalty that was declined.

And on the other side of the ball, Hoyer began the game hitting his first nine passes for 152 yards and two touchdowns before his first incompletion of the night. Hoyer's 46-yard strike to Goodwin came after Xavier Rhodes appeared to pass Goodwin off in zone coverage to Harrison Smith, rather than carrying the speedy Goodwin's vertical route down the field.

"It's mental errors — not placing our eyes [in the right spot], trying to do somebody else's job," Rhodes said. "Anything can be fixed."

Hoyer, who beat the Vikings in the Metrodome in his second career start with the Cleveland Browns in 2013, found Carlos Hyde — another Vikings tormentor from 2015 — for a 15-yard gain when Eric Kendricks and Anthony Barr flowed to the same spot in the field. Hoyer and Hyde then finished the drive by crossing up the Vikings for a 24-yard touchdown over the middle.

The Vikings, who went 4-0 in the preseason a year ago before their 5-0 start, know as well as anyone how fleeting exhibition success can be, and the 49ers' approach on Sunday night will likely play a significant role in how Vikings coaches evaluate the team's overall performance.

But the Vikings had enough issues — penalties, missed assignments and sacks — that coach Mike Zimmer will find plenty to work on in the final week before the regular season.

"I think what we need to do is go back and figure out exactly what we need to be working on, and put our concentration on that," Zimmer said. "We've been doing a lot of installs and looking at different concepts and different things. Now it's time to get back to what we do good."

Thursday's preseason finale against the Dolphins gives the Vikings one more chance to evaluate players on the bottom of their roster, and then it will be time to begin working on the New Orleans Saints, who come to town on Sept. 11 for a Monday night game draped in chatter about Adrian Peterson's chance to face his former team.

The stakes will be higher than they were on Sunday night soon enough. The Vikings will need to be ready.