Russell Wilson was a loser in his NFL debut in Arizona 13 months ago.
Not so Thursday night.
Wilson threw for three touchdowns, Marshawn Lynch rushed for 91 yards and the Seattle Seahawks beat the Cardinals 33-22.
The Seahawks (6-1) intercepted two of Carson Palmer's passes, converting both into touchdowns, and sacked him seven times, twice by Chris Clemons, who had been questionable for the game with a hyperextended elbow.
Arizona (3-4) got a touchdown and one of its three field goals after Wilson twice fumbled while being sacked deep in Seattle territory.
Palmer has thrown 11 interceptions in the last five games and 13 this season, second only to Eli Manning's 15.
Seattle sent the Cardinals to their seventh straight loss against an NFC West foe.
Wilson completed 18 of 29 passes for 235 yards, with TD passes of 31 yards to Sidney Rice, 15 yards to Zach Miller and a yard to Kellen Davis. For the second game in a row, Wilson did not throw an interception.
Palmer, 30 of 45 for 258 yards and a touchdown, was under duress most of the night, especially from the left side where young tackle Bradley Sowell struggled mightily.
Seattle dominated the first half yet led only 17-10 at the break.
Arizona, coming off a 32-20 loss at San Francisco on Sunday, took the opening kickoff and made it to its 40 before Tony McDaniel burst through virtually untouched to sack Palmer for a 14-yard loss.
Seattle took the ensuing punt and needed just five plays to go 83 yards. Wilson, throwing off his back foot while retreating to his right, connected with Rice for 31 yards for the score.
The next time Arizona had the ball, Palmer threw long to Fitzgerald, but Brandon Browner stripped the ball from the receiver and Seattle's Earl Thomas gathered it in as he tumbled out of bounds. Initially it was ruled an incomplete pass, but the Seahawks challenged and the call was reversed to an interception at the Seattle 28.
Again, the Seahawks moved downfield, going 72 yards in 11 plays, Wilson throwing 15 yards to Miller and Seattle led 14-0.
A strong defensive stand helped turn things around temporarily for the Cardinals.
Seattle had it second-and-1 at its 43 but failed to get the first down on three straight runs. On fourth-and-inches, Wilson tried a sneak but was tackled by Calais Campbell well short of the marker.
The Cardinals struggled 26 yards to set up Jay Feely's 49-yard field goal that cut it 14-3.
After the kickoff, the Seahawks were at their 13 when, on second down, Matt Shaugnessy hit Wilson and the quarterback fumbled. Campbell recovered at the Seattle 3 and Rashard Mendenhall scored from there to cut it to 14-10.
Steve Hauschka's 51-yard field goal with 5 seconds to go made it a seven-point game at the half.
In the third quarter, Feely's 52-yard field goal cut it to 17-13, then Seattle went 80 yards in 10 plays.
On third-and-3 from the Cardinals 48, Daryl Washington was bringing Wilson to the ground for an apparent sack when the quarterback got rid of the ball for a 6-yard completion to Miller. Lynch bulled over the middle 17 yards to the 5 and on third-and-goal from inside the 1, Wilson threw to Davis in the back of the end zone for a touchdown to put the Seahawks up 24-13.
After the kickoff, Browner stepped in front of Michael Floyd and intercepted, returning it 49 yards before stumbling down at the 1. Two plays later, Lynch scored on a 2-yard run and it was 31-13.
John Abraham's second sack of the third quarter jarred the ball loose from Wilson and Shaugnessy recovered at the 15. But the Cardinals had to settle for Feely's 22-yard field goal to cut the lead to 31-16 with 14:41 remaining.
Houschka's 42-yard field goal made it 34-16 with 10:21 to go.
Arizona got a late TD on Palmer's 8-yard pass to Jaron Brown.