One of Purdy’s most unusual throws produced no gain. In the first quarter, he escaped toward the sideline and jumped before sending the ball downfield to Luke Farrell. Farrell caught it but was ruled out of bounds, according to Kirk Larrabee’s 49ers Webzone notebook. Shanahan did not challenge the ruling, so the play remained an incompletion. The sequence showed Purdy extending a play under pressure; it did not add a catch, passing yards or a touchdown to San Francisco’s total.
Purdy followed with a 23-yard touchdown throw to Evans early in the second quarter. After two Chad Ryland field goals for Arizona, Eddy Piñeiro hit from 57 yards at the half, and Christian McCaffrey’s one-yard run put San Francisco ahead 23-6 on the first drive after intermission. The 17-point margin did not last. Jacoby Brissett found Michael Wilson from five yards, then Jeremiyah Love from one yard after a muffed 49ers punt helped Arizona get another possession. Suddenly the Cardinals were within three.
The 49ers’ next scoring drive got help from a roughing-the-passer penalty on an apparent third-down stop. Purdy found Kittle for a 10-yard touchdown, although a missed extra point left the score at 29-20. Brissett then scored on a one-yard sneak with 2:51 remaining. Arizona had converted a potential runaway into a two-point game, but Purdy and Kittle answered before the Cardinals could get the ball back with a chance to take the lead.
Purdy finished 15 of 27 for 297 yards and four touchdown passes. Kittle caught six passes for 82 yards and two scores; McCaffrey ran 15 times for 75 yards. Brissett went 38 of 52 for 280 yards and two passing touchdowns. Arizona’s 10 penalties and two first-half red-zone possessions that ended in field goals narrowed its room for error, even as its fourth-quarter offense kept pressuring San Francisco.
The win carried an injury cost. Evans left with a rib injury in the first half, Trent Williams exited with a stinger in the second half, and linebacker Dre Greenlaw sustained a quadriceps injury. Coach Kyle Shanahan did not give a postgame prognosis in the ESPN/AP report. Those statuses need a fresh team update before anyone assumes how much of San Francisco’s lineup will be available against Denver next week. Arizona travels to face the Giants.