Arlington, TX -- A win is a win, especially in the playoffs, and the 49ers won. They eliminated the Dallas Cowboys with a 23-17 win. But this should have been a blow out.
The 49ers should have put away the Cowboys in the first half, but let them hang around, and the game came down to the final play. If the 49ers play like this next week in Green Bay, they'll lose.
With that in mind, here are the 49ers' grades for their win over Dallas.
JIMMY GAROPPOLO: F. The man was on a mission to give away an unlosable game, and nearly succeeded. The 49ers gave him a lights-out defense, a running game that gained 169 yards and scored two touchdowns, plus they limited his throwing attempts to make sure he didn't singlehandedly lose the game, and he still almost gave it away. In third quarter, he overthrew a wide open Brandon Aiyuk downfield on third and 11 when a completion probably would have put away the Cowboys for good. Then in the fourth quarter, he sailed a pass over a receiver's head and got intercepted and the Cowboys scored a touchdown a few plays later. And on the final drive, Garoppolo messed up a quarterback freaking sneak by calling for the snap before Trent Williams, who had gone in motion, was completely set. Garoppolo couldn't even execute a quarterback sneak right. Garoppolo is a disaster in the playoffs. The 49ers have the best team in the NFL, but he makes every game an adventure, so the 49ers have to overcome his mistakes and win despite him, as they've done the past two weeks. Super Bowl quarterbacks do not make the mistakes he made in this game. He needs to improve big time. Unfortunately for the 49ers, he never improves. He's always the same.
RUNNING BACKS: B.
Elijah Mitchell averaged only 3.5 yards per carry, but ran 27 times and scored a touchdown and didn't turn the ball over all while the Cowboys sold out to stop him. He controlled the game.
WIDE RECEIVERS: A.
Deebo Samuel is the best player in the NFL. The 49ers won this game because he scored a 26-yard touchdown run that wasn't blocked particularly well. Most running backs would have been stopped in the backfield, but not Samuel. He cut back and scored almost singlehandedly. The 49ers are now 7-0 when he carries the ball more than 5 times. And he's a wide receiver. Brandon Aiyuk also had 5 catches for 66 yards and would have had more if Garoppolo hadn't sailed a pass over his head.
TIGHT ENDS: C-MINUS.
George Kittle blocked well, but caught just one pass for 18 yards. Plus he nearly committed a fumble that would have lost the game for the 49ers. Fortunately for him, the ball nicked the turf before he caught it and started running. It's strange to see the 49ers phase him out of the pass game.
OFFENSIVE LINEMEN: A.
They gave up no sacks and completely dominated the trenches. The 49ers are now 8-2 since Tom Compton replaced Mike McGlinchey, which is no coincidence.
DEFENSIVE LINEMEN: A.
They shut down the Cowboys run game and sacked Dak Prescott five times despite Nick Bosa leaving the game in the first half with a concussion.
They also shut down the Cowboys run game despite Fred Warner missing the end of the game with an ankle injury.
Jimmie Ward and Jaquiski Tartt gave up zero big plays, which is their specialty.
K'Waun Williams gave up a touchdown catch, but made up for this mistake by intercepting Dak Prescott deep in Dallas territory and setting up Samuel's touchdown run, which was the difference in the game.
SPECIAL TEAMS: D.
They were almost as bad as Garoppolo. First, Mark Nzeocha ran into the Dallas punter and gave the Cowboys an automatic first down. Then the 49ers gave up a first-down catch on a fake punt they should have seen coming. It would be such a shame if special freaking teams were to end the 49ers season next week.
DeMeco Ryans gets an A. He called a flawless game and shut down the No. 1 offense in the NFL. The Cowboys came into Sunday averaging more than 31 points per game, and the 49ers held them to just 17, 7 of which came as a direct result of Garoppolo's careless interception. Ryans might be the best play caller on the 49ers. He's that good.
And then there's Kyle Shanahan. He gets as much blame for the 49ers' offensive struggles as Garoppolo, because Shanahan is the one who chose to stick with Garoppolo this long while the rest of the world thought the 49ers would transition to Trey Lance during the Bye week at the latest.
Shanahan gets an F. He was in the zone early when the 49ers took a 10-0 lead, then he became erratic. On third and 3 from the Dallas 24, Shanahan went ultra conservative and called a run between the tackles which gained just two yards. Then on fourth and 1, Shanahan kicked a field goal. Didn't attempt a quarterback sneak, which has worked all season for the 49ers. Didn't even attempt to draw the Cowboys offside, something he was able to do frequently in this game. Inexplicable.
And then on the 49ers' final play from scrimmage, which was fourth and an inch, Shanahan called a quarterback sneak with a motion, and the 49ers messed it up. The motion was unnecessary. Just call a classic quarterback sneak.
Shanahan specializes in outhinking himself during critical moments. He did that in his two Super Bowl losses, and he did it again in this game. Fortunately for him, he usually has a great defensive coordinator who bails him out.
Ryans deserves a raise.