GLENDALE, Ariz. -- Adrian Peterson rushed for two touchdowns and 134 yards in an impressive Arizona debut and the Cardinals held off a furious second-half Tampa Bay rally to beat the Buccaneers 38-33 on Sunday.
The Buccaneers (2-3) lost quarterback Jameis Winston to a right shoulder injury in the second quarter, with the Cardinals (3-3) leading 21-0.
But backup Ryan Fitzpatrick threw for 290 yards and three touchdowns to bring Tampa Bay back from a 31-0, early third-quarter deficit.
Fitzpatrick's 37-yard touchdown pass to Mike Evans cut the Arizona lead to 38-32 with 2:02 to play.
Larry Fitzgerald recovered the onside kick and, with no Tampa Bay timeouts remaining, the Cardinals ran out the clock.
Carson Palmer completed his first 14 passes and finished 18 of 22 for 283 yards and three touchdowns with one interception. Fitzgerald caught 10 passes for 138 yards and a score.
Peterson, acquired in a trade with New Orleans on Tuesday, carried 26 times and scored on a 27-yard run to cap Arizona's first possession. He added a 1-yard TD run after Tramon Williams' interception near the goal line in the fourth quarter.
The 31-year-old running back gained 47 more yards on Sunday than the 87 he had in four games with the Saints. Arizona ran for 160 yards after averaging 52 yards rushing through five games, by far the worst in the league. Of course, they are without the versatile but injured David Johnson.
Peterson had a 45-yard run called back because of an illegal use of hands penalty. On the next play, Fitzgerald fumbled and Lavonte David returned it 21 yards for a touchdown. The 2wo-point conversion cut the Arizona lead to 31-20 with 12:56 to play.
The Cardinals opened the game with touchdown drives of 76, 86 and 95 yards, the first time they've started with three consecutive TDs since 2006, when Kurt Warner was at the controls.
On the game's first play, Peterson gained 8 yards. He followed with runs of 8 and 11 yards, then broke free over the left side for a 27-yard touchdown run.
On the next drive, Palmer threw 29 yards to Fitzgerald and Peterson had an 11-yard run to the Tampa Bay 14 before the Arizona quarterback connected on a 14-yard TD pass to tight end Troy Niklas.
The third touchdown drive was kept alive by an offside penalty against the Buccaneers on third down, Palmer throwing 11 yards to Fitzgerald for a touchdown to put Arizona up 21-0.
The Cardinals led 24-0 at the half. Palmer's 17-yard TD pass to John Brown made it 31-0.
Buccaneers: Winston left the field early in the second quarter holding his right arm limp after throwing three consecutive incomplete passes.
Buccaneers: Tampa Bay plays at Buffalo next Sunday.
Cardinals: Arizona leaves Monday for London, where it will face the Los Angeles Rams next Sunday.
For more NFL coverage: http://www.pro32.ap.org and http://www.twitter.com/AP-NFL
Patriots workhorse Devin McCourty, who played in 97.1 percent of the defensive snaps in the regular season, undergoes shoulder surgery.
The Cardinals announce 11 new assistant coaches as a younger regime prepares to take over.
Kicker Sebastian Janikowski's 18-year run with the Raiders is ending, a source told ESPN's Adam Schefter.
Redskins safety Su'a Cravens has been reinstated by the NFL, a league source told ESPN.
Browns offensive coordinator Todd Haley isn't looking backward to his time with the Steelers. He's excited about the challenge ahead with Cleveland.
The Jets announced Jeremy Bates is the team's new offensive coordinator. Bates served as quarterbacks coach in 2017 for the Jets.