The Seahawks (3-6) scored on each of their first five possessions for a 27-6 halftime lead, then played conservatively over the final two quarters as Arizona continued to shoot itself in the foot.
The Cardinals (4-5) committed five turnovers en route to their third straight loss. Three of the turnovers came in the second half on fumbles inside Seattle's 10-yard line.
"Pile that on top of what happened to us in the first half and that was so ugly I can't even describe it," said Arizona Coach Dave McGinnis.
Jake Plummer threw a pair of interceptions and fumbled, and running back Marcel Shipp coughed up the ball twice for Arizona, which took a hit in the NFC playoff chase.
"I'm not frustrated," McGinnis said. "It just sickens me we could go out and do that."
The Seahawks had their second-best offensive day of the season, next to a 48-23 victory over Minnesota in Week 4. They won the game in the first half, totaling 20 first downs and 293 yards of offense.
"That was one of the best game plans I've seen played against us this year," Cardinals receiver Frank Sanders said.
Shaun Alexander had a pair of short touchdown runs for Seattle, which improved to 1-3 in the NFC West and avoided matching the worst record in the conference.
"We had to win this game today and we needed to get things started early," Alexander said. "We had a great first drive and from there it just kept on going."
Each team kicked a field goal on its first possession before Alexander capped a 58-yard drive with a five-yard run, making it 10-3 with 3:16 left in the first period.
Lindell kicked his second field goal of the half for a 13-3 lead. After the first of Plummer's two interceptions, Matt Hasselbeck threw a 16-yard scoring pass to Ryan Hannam for a 20-3 cushion 6:22 into the second quarter.
Bill Gramatica got Arizona within 20-6 with his second field goal, but that was it for the Cardinals. Seattle finished the scoring with 16 seconds left in the half, when Alexander found the end zone from a yard to finish a 71-yard drive.
"They were basically moving it at will in the first half," McGinnis said.
A crowd of just 29,252 showed up at the 73,000-seat stadium on the campus of Arizona State University and the fans were booing even before Plummer threw his second interception of the game on a "Hail Mary" heave on the final play of the first half.
The Cardinals had the ball first in the third quarter and drove to Seattle's one before Shipp fumbled for the first time. The second-year back out of Massachusetts also lost the ball at the five on Arizona's next drive.
"Marcel ran hard," Plummer said. "He's a hard runner and is going to take some hard hits. He's got to learn that protecting the ball is key when you run like he does."
It got worse for the Cardinals. They drove to the nine with less than 10 minutes left before Plummer mishandled the snap.
Plummer completed 17 of 29 passes for 226 yards and reached double figures in interceptions for the sixth time in as many NFL seasons. He has been a part of 56 losses, but this was one of the worst.
"We've had some pretty bad ones in the past, but this one definitely hurts because it comes on top of two other ones we had when we could have played better," he said. "It's at home against a team we beat before, so it was a poor showing overall."
Shipp rushed 16 times for 85 yards and Jason McAddley had five catches for 113 yards in his first start, but the fans could not get over the turnovers, booing every chance they got.
"I think the booing is justified," said McGinnis, whose team won at Seattle in Week 2. "The fans have something invested in this, too, just like I have my whole life invested in this. So do these players."
What was lost in Arizona's porous play was one of Seattle's best games of the year. Hasselbeck completed 23 of 31 passes for 260 yards and Koren Robinson finished with seven catches for 96 yards.
"This is a good win, coming into this game with players being hurt," Coach Mike Holmgren said. "It was a good win for us."
Gal Gadot cast as Wonder Woman for 'Batman vs. Superman'
Couple mistakenly served bag of cash at McDonald's drive-thru