Minneapolis  — Case Keenum found a rhythm on the first drive, and the Minnesota Vikings were off and running.

The backup quarterback was much more than a fill-in this time.

Keenum passed for three touchdowns and a career-high 369 yards without a turnover in relief of Sam Bradford, steering the Vikings to a 34-17 victory over the Tampa Bay Buccaneers on Sunday.

“I accept my role on this team,” Keenum said. “I know I want to be ready whenever my name is called, so that’s why I prepare.”

Stefon Diggs had 173 yards receiving and caught two of Keenum’s throws for scores, one short and one long.

Dalvin Cook produced 169 total yards plus his first NFL touchdown, which capped a 75-yard march by the Vikings (2-1) to start the game.

They built a 28-3 lead by early in the third quarter and compiled 494 yards, up from 237 yards in the 26-9 loss at Pittsburgh the week before.

“I guess everybody can use a warmup sometimes,” Diggs said. “He came out swinging. When your quarterback is bringing that energy, you just try to match it.”

Trae Waynes and Harrison Smith each picked off Jameis Winston in the end zone , and Andrew Sendejo returned an interception 36 yards in the fourth quarter to set up one of two field goals by Kai Forbath.

Shadowed by Vikings cornerback Xavier Rhodes, Buccaneers wide receiver Mike Evans had a quiet game with seven catches for 67 yards. When the offense returned to the sideline following Sendejo’s interception, Evans was shown on the TV broadcast angrily shoving over a trash can by the bench.

“I can’t do that,” Evans said. “I’m a captain.”

DeSean Jackson and Cameron Brate each had a touchdown reception while Winston completed 28 of 40 passes for 328 yards, but the Buccaneers (1-1) simply couldn’t overcome having to play from behind all afternoon. They converted only one of six third downs.

Keenum, meanwhile, went 25 for 33 in the third 300-yard game of his career. With Bradford out for the second straight game because of an ailing left knee, the undrafted former practice squad player with 26 starts in six NFL seasons took full advantage of a Buccaneers defense depleted by injuries.

Well protected by a vastly improved offensive line, Keenum was not sacked and only occasionally hurried. He put on a play-action passing clinic, finding Diggs and fellow wide receiver Adam Thielen, who had five catches and 98 yards, open at will.

“I think I was on the ground maybe once,” Keenum said.

Keenum has beaten the Buccaneers in three straight seasons, the past two with the Rams. His totals: 53 for 76 (69.7 percent) for 793 yards, seven touchdowns and just one interception with three sacks.

“He looked like the best player in the NFL again today,” coach Dirk Koetter said.

The Vikings stay at home to face the Lions on Sunday, starting a stretch of three straight games against division opponents.

Lions at Vikings

Kickoff: 1 p.m. Sunday, Oct. 1, U.S. Bank Stadium, Minneapolis

Records: Lions 2-1, Vikings 2-1

TV/radio: Fox/ 760

Line: Off