Brock Purdy threw for 297 yards and four touchdowns as the San Francisco 49ers built a 17-point third-quarter lead before holding off a rally by the Arizona Cardinals for a 36-30 win on Sunday in Santa Clara, Calif.
Purdy completed 15 of 27 passes, including 10 and 20-yard strikes to George Kittle that kept Arizona at bay. Christian McCaffrey added 75 yards and a touchdown on 15 carries for San Francisco (3-0), which outgained Arizona 437-365 despite owning possession for just 21:16.
Jacoby Brissett hit 38 of 52 attempts for 280 yards and two scores for Arizona (1-2), which dropped its second straight game after a season-opening win at the Los Angeles Chargers. The Cardinals got 90 yards on 21 carries from rookie Jeremiyah Love but hurt themselves with mistakes.
Arizona was penalized 10 times for 86 yards and settled for field goals on two of its five trips inside the 49ers’ 20-yard line.
San Francisco initiated scoring in an unusual manner at the 8:26 mark of the first quarter. Purdy hit Mike Evans for a 2-yard gain and Evans lateraled to Deebo Samuel, who lugged it 80 more yards for a 7-0 lead.
Purdy and Evans hooked up for a more conventional touchdown, a 23-yard pass to start the second quarter that made it 14-0. Evans left later in the half with a rib injury and was joined on the sidelines by left tackle Trent Williams (stinger).
Chad Ryland converted field goals of 26 and 41 yards later in the second quarter for the Cardinals, but Eddy Pineiro bombed a 57-yarder as time expired for a 17-6 halftime lead.
McCaffrey scored on a 1-yard plunge at the 11:07 mark of the third quarter to make it 23-6 before Arizona started its comeback. Brissett found Michael Wilson for a 5-yard touchdown pass with 3:02 left in the third.
Love scored on a 1-yard run with 13:06 left in the game to draw the Cardinals within 23-20. After Kittle’s first score, Brissett snuck over from the 1 with 2:51 remaining.
Kittle’s wide-open grab of a Purdy play-action pass put the Niners back up by nine with 1:31 to go. Ryland hit a 49-yard field goal with 34 seconds on the clock, but Samuel recovered the ensuing onside kick to seal the result.
