What We Saw: San Francisco 49ers vs. Arizona Cardinals

Dan Adams (@dadams0323) breaks down what he saw in the Thursday night game between the 49ers and the Cardinals.

San Francisco 49ers vs Arizona Cardinals


San Francisco 49ers




  • Jimmy Garoppolo: 28/37, 317 yards, 4 TDs | 3 carries, 2 yards


Despite being undefeated entering tonight there were a lot of questions about how well Jimmy Garoppolo was actually playing. Garoppolo did a lot to answer those questions tonight and picked the rest of the team up in a game where the defense and rushing attack of the 49ers both had somewhat off nights. After starting with two three-and-out drives, Garoppolo led the 49ers to three straight scoring drives to end the half and capped all of them with a passing touchdown. His first touchdown came on a crossing route by George Kittle in which Kittle did most of the work after the catch, but Garoppolo did a good job to hit him in stride to let Kittle run after the catch. The second drive showcased the newly-formed connection between Garoppolo and the recently acquired Emmanuel Sanders, as they combined for 3 receptions and 64 yards on the drive before Garoppolo found Kendrick Bourne for a touchdown. That touchdown throw was particularly impressive, as Garoppolo put enough on the ball to power it through the outstretched hand of a linebacker and still have enough on it to find Bourne in the endzone. His third touchdown was a 1-yard connection with Sanders, and his fourth was a throw under pressure to a wide-open Dante Pettis for a 21-yard touchdown. Overall, Garoppolo looked more accurate and comfortable under pressure than he has all season and made several big throws to convert third downs, helping lead the 49ers to a 64% conversion rate on third down. The 49ers are too much of a run-heavy team to trust Garoppolo as anything more than a viable streaming option in good matchups for fantasy purposes, but he was impressive tonight and if he can build on this the 49ers are that much scarier.


Running Backs


  • Tevin Coleman: 12 carries, 23 yards | 4 targets, 2 receptions, 13 yards
  • Matt Breida: 15 carries, 78 yards | 2 targets, 2 receptions, 14 yards
  • Raheem Mostert: 1 carry, -2 yards
  • Jeff Wilson Jr.: 1 target, 1 reception, 2 yards


All four 49ers running backs were active tonight, but the backfield was primarily split between Tevin Coleman and Matt Breida. Coleman got the first touch and was mostly held in check tonight. He did have a touchdown called back on a holding penalty, and he was the running back called upon to convert a critical third-down late in the game. It was a disappointing fantasy outing in what projected to be an easy matchup, but Coleman owners should not worry. His volume is still there, including the red zone work, and the 49ers are a run-first team. The offensive line struggled to block for him tonight, but they should be getting healthier in the coming weeks. Matt Breida played and handled a full workload after being questionable coming into the game. The 49ers did a great job of getting him the ball in space, particularly on pitch plays, and he was able to use his speed to break away from the defense for several nice runs. Raheem Mostert did not get a touch until the 4th quarter, which was strange given it was a two-possession game and he was battling an injury coming into tonight. Jeff Wilson Jr. got a goal-line carry on 4th down to end the first half that was stuffed, only for the Cardinals to have called a timeout right before the play went off. He wouldn’t touch the ball again until the fourth quarter, and he and Mostert are only fantasy relevant in that they might vulture touches and touchdowns from Coleman and Breida.


Wide Receivers/ Tight Ends


  • Emmanuel Sanders: 9 targets, 7 receptions, 112 yards, 1 TD
  • Deebo Samuel: 7 targets, 4 receptions, 40 yards
  • Dante Pettis: 1 target, 1 reception, 21 yards, 1 TD
  • Kendrick Bourne: 1 target, 1 reception, 7 yards, 1 TD
  • George Kittle: 8 targets, 6 receptions, 79 yards, 1 TD
  • Ross Dwelly: 4 targets, 4 receptions, 29 yards


Emmanuel Sanders looked to have really built a connection with Jimmy Garoppolo and asserted himself tonight as the number one receiver on the team. Sanders was matched up with Patrick Peterson for most of the night, including several snaps where Peterson shadowed him into the slot but was still able to get open thanks to his route running and some good timing on throws by Garoppolo. One play, in particular, Sanders ran about 20 yards downfield before stopping and turning to receive a ball that was already on its way from his quarterback. Timing throws like that will help keep Sanders involved even in tough matchups, and the 49ers already drawing up plenty of plays for him is a good sign for his fantasy value going forward. George Kittle briefly left this game with a knee injury before returning to score a 30-yard touchdown that included a nice stiff arm to break a tackle. Kittle looked frustrated at times with the defensive attention being paid to him by the Cardinals, but he was able to overcome that for a solid fantasy outing. Deebo Samuel was involved a decent amount and was targetted on a big third-and-long in the fourth quarter. He didn’t receive any carries and there didn’t seem to be as much of an emphasis to get him the ball in space in this game compared to prior weeks, but he remains an interesting stash for fantasy leagues. Dante Pettis and Kendrick Bourne each caught a touchdown but were otherwise uninvolved. Ross Dwelly, the backup tight end, made several nice catches including the game-icing first down. Marquise Goodwin was a healthy scratch after missing practice this week for a personal reason and is probably safe to drop.


Arizona Cardinals




  • Kyler Murray: 17/24, 241 yards, 2 TDs | 5 carries, 34 yards


Kyler Murray had a tough game tonight but saved his fantasy score thanks to an 88-yard touchdown throw to Andy Isabella. The 49ers were able to pressure Murray, and it showed on several throws where he was either forced to roll out or rushed his throw and missed the receiver. The Cardinals did not utilize Murray much as a rusher until the second half, which was a shame because he was very effective. He did a good job of extending several plays, including one where he evaded a sack and then drew a horse-collar penalty to extend their opening drive which eventually resulted in a touchdown. His other touchdown pass came on a nice throw he made rolling to his right to find KeeSean Johnson wide open for a touchdown. Murray managed a respectable fantasy outing against one of the toughest defenses in the NFL, and that’s encouraging regardless of how he got there. It would be nice for his fantasy value if the Cardinals would unleash him as a runner more, especially since he seems to be very skilled at avoiding contact and getting down before he takes a hit, but he is at least a low-end fantasy starter even with his rushing being limited.


Running Backs


  • Kenyan Drake: 15 carries, 110 yards, 1 TD | 4 targets, 4 receptions, 52 yards
  • Alfred Morris: 1 carry, 3 yards
  • Zach Zenner: 1 carry, -3 yards


What an incredible debut for Kenyan Drake tonight, as he channeled his excitement from leaving the Dolphins into 162 total yards and a touchdown on 19 touches despite joining the team only a few days ago. Drake looked awesome as a runner, finding holes and looking explosive when he made his cuts. He was also effective as a receiver, which included a nice reception on a screen pass that was wiped out by a penalty, and just generally looked good in space. There was plenty of opportunity for him tonight with both David Johnson and Chase Edmonds sitting out due to injury, and it remains to be seen how involved he’ll be when Johnson returns. Drake is a tough player to value right now, but tonight was really encouraging against a strong defense and it would make sense for the Cardinals to at least run a few plays for him a game since they went out and traded for him. Drake is a must-start should Edmonds and Johnson continue to miss time, and is probably worth holding onto when they return until we see how the usage shakes out. Zach Zenner and Alfred Morris each saw one carry, and remain irrelevant for fantasy.


Wide Receivers/ Tight Ends


  • Larry Fitzgerald: 4 targets, 4 receptions, 38 yards
  • Christian Kirk: 5 targets, 2 receptions, 8 yards | 1 carry, 8 yards
  • Andy Isabella: 1 target, 1 reception, 88 yards, 1 TD
  • KeeSean Johnson: 3 targets, 2 receptions, 22 yards, 1 TD
  • Pharoh Cooper: 2 targets, 2 receptions, 15 yards
  • Maxx Williams: 2 targets, 1 reception, 12 yards


Andy Isabella was a highly-touted rookie coming into the season, and we finally got to see why when he caught a pass heading toward the right sideline before cutting back to the middle of the field and running away from the entire defense for an 88-yard touchdown. The defenders took a terrible angle trying to tackle him after the catch, but he still displayed incredible speed to break away. It was his only touch of the game, so it is hard to get too excited about him, but it is a good sign for his future if you own him in keeper or dynasty leagues and it might lead to more touches down the road this season. Larry Fitzgerald got what appears to be his customary designed screen that goes for no yards, but was otherwise quiet. Christain Kirk led the team in targets but was unable to turn that into much production, and KeeSean Johnson caught a touchdown but also had a terrible drop early in the game that seemed to take him out of the game plan until the second half. This was a tough matchup so do not worry too much about the pass-catchers here, there is enough volume in this offense that at least Kirk and Fitzgerald remain viable starters. Dameire Byrd missed this game with an injury.



— Dan Adams



(Photo by Jordon Kelly/Icon Sportswire)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.