SANTA CLARA, Calif. -- After beginning the season as an afterthought in New Orleans, Adrian Peterson showed he still has what it takes to be a workhorse just when Arizona needed it most.
Peterson carried a career-high 37 times for 159 yards to take pressure off backup quarterback Drew Stanton and lead the Cardinals to a 20-10 victory over the winless San Francisco 49ers on Sunday.
"That's the mindset I've always had since I came into the league," Peterson said. "I'm going to wear those guys down and see if they can do it for four quarters. That's something they have to question themselves when it comes to the fourth quarter and I'm still coming in there."
Peterson had 10 more carries in his third game with the Cardinals (4-4) than he had his first four weeks combined with the Saints. He posted the most carries ever for a player in his 30s and topped the 100-yard mark for the second time since being acquired in a trade last month.
"That's why they call him All Day, AD, because he can tote it all day," Cardinals receiver Larry Fitzgerald said. "We're very fortunate to have a back with his experience and his explosiveness in our backfield."
Peterson's tough running and Stanton's pair of first-half touchdown passes were enough to help Arizona bounce back from a 33-0 loss to the Rams before last week's bye.
The undermanned 49ers (0-9) extended the worst start in franchise history and have lost 23 of the past 24 games overall. Newly acquired quarterback of the future Jimmy Garoppolo was mostly a spectator as rookie C.J. Beathard got battered once again behind a patchwork line missing injured left tackle Joe Staley.
Beathard went 24 for 51 for 294 yards and an interception and also ran for a touchdown. He was also sacked five times and hit 16 times overall, but still managed to stay in the game and not force the 49ers to use Garoppolo just days after he was acquired for a second-round pick from New England.
"I'm not afraid of getting hit. That won't affect me," Beathard said. "Never has. I'm tough and I've been able to take things. Obviously, if I'm injured, I'm not going to force myself in there. But as of now, I haven't been injured."
Stanton, making his first start this season in place of the injured Carson Palmer, went 15 for 30 for 201 yards with TD passes to Jaron Brown and Jermaine Gresham . He also was intercepted once.
Arizona's Frostee Rucker and Hasson Reddick, and San Francisco's Carlos Hyde all were ejected for fighting in the fourth quarter. The teams got into a skirmish after former 49ers safety Antoine Bethea hit Beathard late as he was sliding following a run. The 49ers took exception to the hit and players from both teams started scuffling.
Peterson reached the 12,000-yard rushing mark for his career in the second quarter. Peterson got the milestone in his 130th career game, fourth fastest in NFL history. Only Hall of Famers Jim Brown (115), Eric Dickerson (118) and Barry Sanders (125) got there faster. Peterson also moved into 15th place on the career rushing list with 12,142 yards, jumping ahead of Thurman Thomas.
Fitzgerald also moved past Tim Brown into sixth place on the all-time list for yards receiving with 14,953 yards.
Arizona linebacker Karlos Dansby intercepted a pass in the fourth quarter, becoming the fifth player with at least 40 sacks and 20 INTs in a career.
The Cardinals led 14-3 at halftime and it could have been much more, except Phil Dawson missed a 38-yard field goal on the opening drive and Stanton was intercepted in the end zone by Eric Reid in the second quarter.
Cardinals host Seattle on Thursday night.