The Vikings dressed just four receivers for Sunday's game against the Tampa Bay Buccaneers, confident they could bruise the NFL's 22nd-ranked run defense from a year ago with an offensive line rebuilt to facilitate an improved ground game.

They built a passing game on deep shots off play action, burning a Buccaneers team with four injured defensive starters on a steady diet of corner routes and fly patterns to Adam Thielen and Stefon Diggs.

And in a 34-17 win at U.S. Bank Stadium on Sunday, it all worked exactly as they'd hoped. Except, of course, for the identity of the quarterback.

The Vikings knew they'd be without Sam Bradford again on Sunday, as the quarterback boarded a private jet on Friday morning for Dr. James Andrews' office in Pensacola, Fla., to get a second opinion on his injured left knee. The appointment confirmed the Vikings' initial belief there were no structural issues with Bradford's twice-surgically-repaired knee, according to a NFL source, but essentially, the situation puts the team in a waiting game, as it hopes for the pain and swelling in his knee to subside enough for him to return soon.

In the meantime, the Vikings are turning to Case Keenum, who started again on Sunday seven days after a rough afternoon in Pittsburgh. But with Keenum looking more comfortable in the pocket than he did in a loss to the Steelers, the Vikings provided evidence their offensive game plan can still work independent of their starting QB.

Keenum threw for a career-high 369 yards, throwing two touchdowns to Diggs and one to Jarius Wright behind a line that allowed him to get hit just four times in the game. According to ESPN Stats and Information, he hit seven of his nine throws of 15 yards or more, completing those passes for 221 yards and two touchdowns.

Afterward, coach Mike Zimmer — who admitted he typically doesn't give out game balls — presented Keenum with one.

"I thought he played great, made great decisions, took care of the football," Zimmer said. "There was times he ran the ball when he needed to. I thought he played great."

Just as impressive, though, was the work of rookie Dalvin Cook, who gained 97 yards and posted his fourth run of at least 20 yards when he surged for 26 yards in the third quarter, through a hole opened by down blocks from Joe Berger and Mike Remmers.

Cook finished with a combined 169 rushing and receiving yards in the game, catching another five passes for 72 yards and turning a short throw from Keenum into a 36-yard gain. The rookie now has 285 rushing yards in his first three games, surpassing the 271 that Adrian Peterson posted in the first three weeks of his career.

Peterson set a NFL single-game record with 296 yards later that season, but the work his successor has done as both a running back and receiver has quickly quelled discussion of how the Vikings' offense would function without their all-time leading rusher.

What they did on Sunday was effectively what they'd talked about doing most of the spring and summer, using a balanced attack to build an early lead while their defense baited Buccaneers quarterback Jameis Winston into mistakes.

The Vikings, who hadn't forced a turnover during the first three weeks of the season, picked off Winston three times on Sunday, with their first interception coming when Trae Waynes — who'd been picked on for much of the first half — snatched an underthrown deep ball intended for DeSean Jackson.

"You want to get two turnovers a game. Today, we got three," nose tackle Linval Joseph said. "This is a good turning point. Now we have to continue to do this every week."

The day began with the team's first public demonstration during a national anthem since former San Francisco 49ers quarterback Colin Kaepernick first knelt during the anthem as a form of protest during the 2016 preseason. No Vikings player had taken action during an anthem before Sunday, when many players linked arms with one another — as well as owners Zygi and Mark Wilf and general manager Rick Spielman — following President Trump's comments criticizing NFL players who knelt in protest during the anthem.

It ended with a Vikings offense that looked self-sufficient without its starting QB, as Keenum made his case to become the second Vikings passer in three weeks to win NFC Offensive Player of the Week honors.

Whether the Vikings can survive an extended stretch of games without Bradford — or whether they'll have to — remains in question. But as they improved to 2-1 on Sunday, they showcased a plan that can, if executed properly, work just fine.

"You never know what kind of performance you're going to get each week; you just go out there and practice as hard as you can," Zimmer said. "I think the offensive coaches did an outstanding job. We knew Sam wasn't going to play at an earlier point this week so we kind of prepped the game plan more towards Case.

"I thought they did a great job. I thought [offensive coordinator] Pat [Shurmur] did a great job calling the game, along with, he got input from the other offensive coaches as well. We ran the ball effectively, which helps in the passing game. We hit some play actions, we hit some shots."