SAN FRANCISCO -- Vernon Davis caught touchdown passes of 61 and 35 yards and finished with a career-best 180 yards receiving, leading the San Francisco 49ers past the Arizona Cardinals 32-20 on Sunday for their third straight victory.
Colin Kaepernick threw for 252 yards and Frank Gore ran for 101 yards on 25 carries.
Kendall Hunter ran for a 6-yard touchdown that sealed it for the 49ers (4-2) with 6:35 remaining.
Rookie safety Eric Reid made his team-leading third interception and also recovered a fumble to stop an Arizona drive deep in 49ers territory in the third quarter. San Francisco forced four turnovers for the second straight game.
Arizona (3-3) lost star defensive end Calais Campbell to an apparent right leg injury late in the game.