GLENDALE, Ariz. — Early in Kyle Shanahan’s first season as 49ers coach, his club lost five consecutive games by three points or fewer.
As frustrating as that was for the 49ers back in 2017, that was different. That team was bad, and everyone knew it.
On Sunday, the 49ers dropped their third consecutive game. This time, they fell 17-10 to the NFC West-leading Arizona Cardinals.
Although the scores have not been as close as during the 49ers’ agonizing stretch of games four seasons ago, this has been more difficult because the 49ers believe they should be a playoff team.
So what gives?
The 49ers (2-3) have been good in some areas but not good enough in all areas to avoid this skid that has sent them three games behind the Cardinals (5-0) in the division standings.
Here are the grades from the 49ers’ latest defeat:
Quarterback Trey Lance, making his first NFL start, rolled up a game-high 89 yards rushing on 16 attempts. Rookie running back Elijah Mitchell returned to the lineup after missing two games with a shoulder injury, and he gained 43 yards on nine attempts.
The run game was good but it was not good enough to get the tough yards when it counted most.
Lance’s roughest moment came at the end of the first drive of the game when he overshot a wide-open Travis Benjamin. The pass sailed into the hands of Cardinals safety Budda Baker for the interception. That turnover led to an Arizona touchdown and a 7-0 lead.
Lance completed 15 of 29 passes for 192 yards with no touchdowns and the one interception. His passer rating was 58.4. The 49ers had three dropped passes, including one from veteran Mohamed Sanu on a key third-down play in the third quarter. Deebo Samuel was targeted nine times and came away with just three receptions for 58 yards.
The grade is not good, but Lance showed plenty of promise. The 49ers were called for five holding penalties, two apiece by left tackle Trent Williams and right tackle Mike McGlinchey.
The 49ers did a good job against the Cardinals’ two running backs, James Conner and Chase Edmonds. Conner had 29 yards on 10 rushes, while Edmonds managed just 16 yards on six carries.
The 49ers even managed to keep quarterback Kyler Murray under wraps. Murray had four rushing attempts for 8 yards before he ran out the clock with three kneel downs. The 49ers’ run defense tightened up after the Cardinals got some yards on their first drive of the game, which culminated with Conner’s 1-yard touchdown run.
The 49ers’ run defense allowed Conner to gain 8 and 4 yards on back-to-back plays to allow Arizona to run out the clock.
Murray completed 22 of 31 passes for 239 yards with one touchdown and no interceptions. The 49ers generated a takeaway with cornerback Dontae Johnson stripped Edmonds of the ball after a short pass completion.
DeAndre Hopkins had six catches for 87 yards for the Cardinals, and he seized control in the fourth quarter in helping the Cardinals build a 10-point lead. He caught a deep ball on Jimmie Ward, then went to the other side and beat Josh Norman for a 9-yard touchdown reception.
D.J. Jones and Nick Bosa registered sacks on Murray for a combined 29 yards.
Joey Slye took part in his first game as a fill-in for Robbie Gould, who sustained a groin injury last week. Slye had touchbacks on each of his three kickoffs. He hit a 47-yard field goal attempt in the fourth quarter to pull the 49ers to within seven points, giving them a chance in the final minute.
Brandon Aiyuk averaged just 3.0 yards on two punt returns. Punter Mitch Wishnowsky averaged 48.5 yards (net 42.5) on two punts.
Coach Kyle Shanahan could have been more determined to go with the running game — from the running back position. Mitchell had success. The 49ers did not mix Trey Sermon into the game at all.
The decisions to go for five fourth downs meant that the 49ers passed up the possibility of six points on field goals. The decisions were not so much the issues, but the play calls fell flat.
Fullback Kyle Juszczyk lined up under center on a fourth-and-1 play and was stuffed. Shanahan suggested there were a lot of options with that play, and “some things were messed up.”
While that might be an error on the players, it is also Shanahan’s responsibility to get everybody on the same page.
The 49ers went toe-to-toe against the unbeaten Cardinals and felt as if they should have won.
“This game was there for the taking. We just didn’t take advantage,” Trent Williams said.
We agree. The 49ers’ defense kept them within striking range, and the team’s inability to have the right play — or right execution — on third and fourth downs cost them. The 49ers held Arizona to season lows in yards and points. Yet, they failed to do the little things that should have gotten themselves back in the win column.