After the game started with seven punts and a bunch of bad passes, the 49ers and Cardinals traded touchdowns late in the second quarter.
It’s 7-7 at halftime after Larry Fitzgerald caught a touchdown pass from Drew Stanton and the Cardinals got two defensive stops to end the half.
The 49ers drove 87 yards in 10 plays to score first, getting a 9-yard touchdown pass from Blaine Gabbert to Jeremy Kerley with 4:12 left in the half.
The Cardinals punted on the ensuing possession, but Calais Campbell intercepted a Gabbert screen pass and Stanton found a wide-open Fitzgerald for a 21-yard touchdown on the next play.
The defenses are still dominating. The Cardinals got the ball back with good field position and a little more than a minute left but couldn’t get close to field goal range. The 49ers got the ball back with 39 seconds left but threw one incompletion, then ran the clock out.