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.