The 49ers aerial attack was explosive on Sunday afternoon, and the team's defense was opportunistic to say the least.
But when push came to shove in San Francisco's matchup with Arizona – as it usually does between these NFC West rivals – the home team hummed to victory because of its running game.
Thanks to a late Frank Gore-led drive that spanned 18 plays – the longest in the NFL season – the 49ers offense put away the Cardinals, 32-20, at Candlestick Park.
The lengthy possession – it covered 89 yards and nine minutes and 32 seconds of game clock – ended in a six-yard Kendall Hunter touchdown run. It was made possible by a Joe Staley-forced fumble – the third of four turnovers created by the defense.
The 49ers (4-2,2-1) have won three straight regular season games for the first time the 2011 campaign, while the Cardinals (3-3, 0-2) snap their winning streak at two.
The Willis-led defense took advantage of the Cardinals sloppy ways early and often.
Rookie safety Eric Reid recorded his third career interception on the defense's second series, jumping in front of Carson Palmer's over-the-middle throw for tight end Jim Dray. The 53-yard return by Reid pushed the 49ers offense up to the Cardinals seven-yard line.
Three plays later, San Francisco first lead thanks to Phil Dawson's 35-yard field goal. The kicker's 44-yard field goal late in the fourth marked his third straight make and served as the game's last score.
Palmer was looking for Fitzgerald on the Cardinals' fourth possession when cornerback Carlos Rogers hauled in a second interception. Rogers' over-his-shoulder steal and 11-yard return gave the 49ers the ball at the 11-yard line and resulted in a 26-yard Dawson field goal.
Trying to force a third pick (and Palmer's would-be 12th of 2013), the 49ers defense was victimized three plays into the Cardinals ensuing drive. Palmer recorded the game's initial first down and touchdown on the same pass-and-catch: He found Fitzgerald on a quick "in" route, and the All-Pro wideout beat Tramaine Brock's coverage and broke safety Donte Whitner's would-be tackle for a 75-yard touchdown.
The 49ers fell behind the Cardinals, 7-6, entering the second quarter.
The second quarter was a different story. The defenses traded big plays early – Cardinals safety Yeremiah Bell picked off Kaepernick at the goal line before 49ers outside linebacker Corey Lemonier earned his first career sack of Palmer for a safety – and the 49ers offense erupted late.
The Kaepernick-to-Vernon Davis connection resulted in a pair of long touchdowns: a 61-yard connection on the second possession of the period and a 35-yard pass-and-catch over the head of Bell on the penultimate. In between, Davis made a 28-yard grab for the first 100-yard half of his eight-year career.
His 180 yards overall was a single-game career high, and he became the first 49ers tight end in the team's history to record 60-yard-plus scores in consecutive weeks; Davis scored on a 68-yard haul-and-sprint in the team's Week 5 win over the Houston Texans.
Kaepernick threw for 252 yards overall and also committed a pair of turnovers, including a second-quarter fumble. Eight of his 16 completions went to Davis.
Up 22-20, with a minute remaining in the third quarter, inside linebacker Patrick Willis forced Fitzgerald to fumble. Willis was making his first appearance in three games since suffering a groin injury.
The 49ers turned their third turnover into the game's longest drive, which covered most of the fourth quarter. Gore led the way, crossing the century mark in rushing yardage. He finished with 25 carries and 101 yards.
Nose tackle Glenn Dorsey (hamstring) and linebacker Michael Wilhoite (forearm, quadriceps) left the game for the 49ers. Cardinals defensive end Calais Campbell was taken off the field on a stretcher late in the fourth quarter.