Diggs needed just 38 more yards in the game to pass Sammy White (1976, Week 9) for the all-time Vikings mark in receiving yards during a regular season game.
Keenum has beaten the Bucs the last two times he faced them - though he was playing for the Rams at the time.
Winston went 28 of 40 for 328 yards and tossed touchdown passes to tight end Cameron Brate and DeSean Jackson for Tampa Bay (1-1).
Sam Bradford missed his second straight game with a knee injury, but Keenum was much better at home against a depleted Tampa Bay defense after a road loss at Pittsburgh last week.
Tampa Bay returns home for a tough stretch of two games in five days - next week's home game against the Giants is sold out, and the same is likely on Thursday, Oct. 5, when the Patriots come to Tampa for the first time in 20 years. Diggs started it with a diving 17-yard catch on the left sideline. After a defensive holding penalty made it first-and-goal, Keenum rolled right and fired a quick out to Jairus Wright for a two-yard touchdown. Diggs caught the ball over Smith and spun out of a tackle to break free for a 59-yard touchdown. His totals: 53 for 76 (69.7 percent) for 793 yards, seven touchdowns and just one interception with three sacks.
Already without three starters for health reasons, defensive tackle Chris Baker, linebacker Kwon Alexander and cornerback Brent Grimes, the Buccaneers defense took even more hits during the game. Tampa Bay is coming off of a dominant 29-7 victory over the Chicago Bears in their opening game, as their Week 1 contest was postponed due to Hurricane Irma. Last week, the Vikings were only able to gain 237 yards on offense and had 131 penalty yards.