MINNEAPOLIS (AP) — Sam Bradford started his second season with Minnesota in style, passing for 346 yards and three touchdowns to help the Vikings beat New Orleans 29-19 on Monday night and spoil Adrian Peterson's first game with the Saints.

Stefon Diggs had seven receptions for 93 yards, two for scores, and Adam Thielen racked up 157 yards on nine catches as Bradford carved up a Saints defense that looked again like one of the worst in the league despite a major renovation. Rookie Dalvin Cook rushed for 127 yards in the formal takeover from Peterson.

Peterson was an afterthought once the Saints fell behind. Drew Brees was quiet, too, with 291 yards on 27-for-37 passing padded by the late push to catch up. Coby Fleener caught the only touchdown toss, after the 2-minute warning. Will Lutz made four field goals, three under 25 yards.

Brees and Bradford are both in the final year of their contracts, with the same agent, Tom Condon, who is sure to cash in on both clients. Brees has by far the better resume, nine seasons further into his career, but Bradford stole the show on this prime-time stage.

Behind mostly clean pockets created by a remade offensive line, Bradford completed 27 of 32 passes without a turnover. With three rookies and three free agents in the starting lineup, the Saints tried hard to better a defense that has held Brees and company back since the Super Bowl title eight years ago. The first performance left a lot to be desired, with Diggs and Thielen consistently finding favorable matchups underneath.

There were three unnecessary roughness calls in the first half by the Saints. Two of the personal fouls aided a drive that ended with one of three field goals by Kai Forbath, who missed one extra point. The other 15-yarder was on safety Kenny Vaccaro for head-hunting Diggs during an acrobatic catch in the closing seconds of the first half. Diggs came right back with another highlight-reel grab to give the Vikings a 16-6 lead at the break.

Cameron Jordan and A.J. Klein each had their hands on a tipped pass in the end zone that fluttered off Cook's hands, missing a critical opportunity to thwart that drive and keep the deficit at four points.

DECENT DEBUT

Cook became the first Vikings running back to start a season opener since Michael Bennett in 2001. Despite trouble hanging onto some of the passes thrown his way, he helped salt away the game in the second half.

BACK AGAIN

Ten years and two days after Peterson made his NFL debut in purple with 103 yards rushing and a 60-yard touchdown reception on this same block of downtown Minneapolis, albeit in a different stadium, he returned in black, white and gold as a part-time player for the pass-first Saints.

The game has changed, though. Despite Peterson's age-defying physical condition, so has his role. With essentially equal time for Mark Ingram and Alvin Kamara, too, the all-time Vikings rushing leader was limited to 18 yards on six carries.

The crowd was really fired up for the reunion with another former Vikings great. Former wide receiver Randy Moss, already on site as an analyst for ESPN, became the 22nd member of the team's Ring of Honor in a halftime ceremony punctuated by a passionate speech and shout-out to the fans.

INJURY UPDATE

With Saints stalwart left tackle Terron Armstead still recovering from offseason shoulder surgery, rookie Ryan Ramczyk started in his place. Then right tackle Zach Strief went down in the second quarter with a left leg injury, forcing Senio Kelemete into action. Vikings defensive ends Everson Griffen and Danielle Hunter caused a lot of trouble.

UP NEXT

The Saints play on Sunday against New England, their only home game in the season's first five weeks.

The Vikings visit Pittsburgh on Sunday, their only road game over the first four weeks of the schedule.