Davis corralled a 61-yard bomb from Colin Kaepernick late in the second quarter for a 15-7 San Francisco lead and reeled in a 35-yard TD strike just before halftime for an eight-point advantage.
Kaepernick completed 16-of-29 passes for 252 yards with the two scoring tosses to Davis and surrendered an interception as the 49ers (4-2) took advantage of four Arizona turnovers to rack up a third straight win.
Frank Gore picked up 101 rushing yards on 25 carries for San Francisco.
Carson Palmer went 25-of-41 for 298 passing yards and a pair of touchdowns, but was also picked off twice for the Cardinals (3-3).
Larry Fitzgerald led Arizona's receivers with six catches for 117 yards with a score.