Brian Westbrook's big games weren't all in his rearview mirror after all.
The 31-year-old running back rushed for 136 yards and a touchdown in place of the injured Frank Gore and the San Francisco 49ers sent punchless Arizona to its sixth straight loss, 27-6 Monday night in a shower of boos from the Cardinals home crowd.
Westbrook, who had 9 yards on five carries all season, ran 23 times in his 21st career 100-yard game, but first since Dec. 7, 2008, for Philadelphia against the New York Giants.
San Francisco (4-7), beaten at home by Tampa Bay 21-0 last week, improved to 3-1 since Troy Smith became starting quarterback and pulled within a game of co-leaders St. Louis and Seattle in the anemic NFC West.
Arizona (3-8), two-time defending division champion, has not lost this many in a row since dropping eight straight in 2006, Dennis Green's final season as coach.
The 49ers rushed for 261 yards, by far their season high and the most allowed by the Cardinals this season.
Westbrook, who led the league in rushing in 2007, was released a year ago after eight, often-spectacular seasons with Philadelphia, a move caused by a combination of his age and injury history as well as the $7.5 million US, he would have been due this season.
He signed with San Francisco on Aug. 16, but had hardly played at all until Gore went down on Monday.
"I just kind of bided my time, tried to stay fresh, tried to stay focused," Westbrook said, "and when I got my opportunity, make the most of it."
He was able to show what he still can do.
"I think we have a lot of young guys, some of them have seen some of the things I've been able to do over the course of my career, some of them just don't know," Westbrook said. "They just see a guy running around the practice field. For me it meant a lot to have an opportunity to go out there and play and have an opportunity to have success."
The Arizona defence did not provide much resistance as San Francisco pushed around the home team at the line of scrimmage from the start.
Gore injured a hip in the first quarter and briefly tried to come back before going out for good in the second period.
He had 25 and 15 yards in his first two carries, a sign of things to come against an Arizona defense that entered the game last in the league in points allowed.
Smith didn't need to pass much, completing 11 of 23 for 129 yards with one touchdown and an interception.
San Francisco, a team that has not scored more than 24 points in a game all season, led 21-6 at the half. The 49ers hadn't scored that many by halftime in two years.
The Cardinals committed their 27th turnover of the season on their first play from scrimmage when Derek Anderson and Beanie Wells botched a handoff and Aubrayo Franklin recovered for San Francisco. On the next play, Smith threw 38 yards to Michael Crabtree for the touchdown, the receiver making a diving catch in the end zone.
Wells gained a measure of redemption on the next possession. Playing as a wideout to the right, he caught a 43-yard pass from Anderson but a season-long red zone problem continued and Jay Feely's 31-yard field goal made it 7-3.
Ted Ginn Jr. had a kickoff return of 41 yards and a punt return for 42, both leading to San Francisco touchdowns.
The 49ers went 55 yards in 10 plays after the kickoff, Anthony Dixon leaping over from the one-yard line to make it 14-3 with 29 seconds to go in the first.
Shane Andrus, kicking in place of injured Joe Nedney, missed a 47-yard field goal on San Francisco's first possession. He also had a 37-yarder blocked by Dominque Rodgers-Cromartie in the third quarter.
Arizona blew an opportunity late in the first half after Smith's pass bounced off the hands of Vernon Davis and was intercepted by Michael Adams at the San Francisco 42. Anderson threw three incompletions and the Cardinals punted. The boos that had started midway through the first quarter were louder than ever as the teams left the field.
LaRod Stephens-Howling briefly got the fans back in it with an 83-yard kickoff return to start the second half, but it was called back by a holding penalty against Arizona rookie Daryl Washington.