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
High Noon's Bomani Jones and Pablo Torre are impressed by Kenny Stills commitment to his anthem protest and the work he is putting in off the field.
Will Cain explains why he would rather start a team around Ezekiel Elliott than Odell Beckham Jr.
High Noon's Bomani Jones and Pablo Torre discuss if the Cincinnati Bengals can win the AFC North after A.J. Green's dominant performance Thursday night.
The NFL has levied a 14-week suspension for former Jets linebacker Dylan Donahue, who recently pleaded guilty to two DUI charges.
Bomani Jones and Pablo Torre discuss Giants safety Landon Collins' comments about Cowboys QB Dak Prescott.
New Orleans Saints defensive tackle David Onyemata was fined $40,108 for his two roughing-the-passer penalties in Week 1 -- an amount that actually exceeds his game salary of $37,059.