All 49ers

Grading the 49ers' players and coaches after beating the Eagles 23-19

Unreal.
Eric Hartline-Imagn Images

In this story:


PHILADELPHIA -- The 49ers just pulled off a stunning playoff upset over the defending Super Bowl Champions, the Philadelphia Eagles, by a score of 23-19, despite George Kittle tearing his Achilles in the second quarter. This was one of the best playoff victories in franchise history.

With than in mind, here are the 49ers' grades for this performance.

QUARTERBACK: B-MINUS

Jan 11, 2026; Philadelphia, PA, USA; San Francisco 49ers quarterback Brock Purdy (13) looks to pass the ball against the Phil
Eric Hartline-Imagn Images

Let's get this out of the way. Brock Purdy threw two horrendous interceptions in this game. Both were forced over the middle and lacked zip because of the strong wind during the game. He had less zip on his throws than Jauan Jennings.

Those interceptions were the main reason the game was so close, considering the Eagles never turned the ball over.

But Purdy was clutch, unlike Jalen Hurts, the reigning Super Bowl MVP. On the 49ers' final drive of the game, there was no doubt that Purdy would lead the offense down the field for a touchdown, which he did. And on the next possession, there was no doubt that Hurts would fail, which he did.

Some quarterbacks can put their team on their backs with two minutes left in a game, and some can't. Purdy sure can. That's the highest praise you can give a quarterback.

RUNNING BACKS: B-PLUS

Jan 11, 2026; Philadelphia, PA, USA; San Francisco 49ers running back Christian McCaffrey (23) makes a catch for a touchdown
Bill Streicher-Imagn Images

Christian McCaffrey averaged just 3.2 yards per carry, which is par for the course for him this season, but he made a huge impact as a receiver. He finished the game with 66 receiving yards and 2 touchdown catches. He's having a remarkable season even though he's not the player he once was.

WIDE RECEIVERS: A

Jan 11, 2026; Philadelphia, PA, USA; San Francisco 49ers wide receiver Demarcus Robinson (5) celebrates a touchdown against t
Bill Streicher-Imagn Images

The 49ers didn't have Ricky Pearsall or Brandon Aiyuk. As it turns out, the 49ers didn't need either of them because Demarcus Robinson went crazy. Led all players with 111 receiving yards and one touchdown. Where was this all season?

In addition, Jauan Jennings threw a beautiful touchdown pass to McCaffrey to save the 49ers' season in the fourth quarter when they were down by 6. This was the nicest pass thrown by a 49ers player in this game.

TIGHT ENDS: C-MINUS

Jan 11, 2026; Philadelphia, PA, USA; San Francisco 49ers tight end George Kittle (85) gestures as he is carted off the field
Bill Streicher-Imagn Images

George Kittle left the game in the second quarter after tearing his Achilles. His replacement, Jake Tonges, had just 1 catch for 14 yards. Clearly, Kittle was an integral figure in the game plan tonight and Tonges wasn't. Expect Tonges to be much more involved next week in Seattle.

OFFENSIVE LINEMEN: B

Jan 11, 2026; Philadelphia, PA, USA; San Francisco 49ers quarterback Brock Purdy (13) catches a snap against the Philadelphia
Bill Streicher-Imagn Images

They didn't get much push in the running game, but they gave up only one sack against one of the best pass rushes in the league, which is impressive.

DEFENSIVE LINEMEN: B

Jan 11, 2026; Philadelphia, PA, USA; Philadelphia Eagles quarterback Jalen Hurts (1) passes the ball under pressure from San
Eric Hartline-Imagn Images

They still have the worst pass rush in the league, but they managed to generate just enough pressure on Jalen Hurts in the second half when they needed, and they helped limit Saquon Barkley to just 4.1 yards per carry and no touchdowns.

LINEBACKERS: A

Jan 11, 2026; Philadelphia, PA, USA; Philadelphia Eagles running back Saquon Barkley (26) carries the ball defended by San Fr
Bill Streicher-Imagn Images

Eric Kendricks and Garrett Wallow started and combined to record a whopping 21 tackles. The 49ers would not have won this playoff game without these outstanding performances by two linebackers who weren't on this team a few weeks ago. They might be better than the players they replaced.

DEFENSIVE BACKS: A-MINUS

Jan 11, 2026; Philadelphia, PA, USA; Philadelphia Eagles wide receiver A.J. Brown (11) is unable to make a catch as San Franc
Bill Streicher-Imagn Images

Deommodore Lenoir shadowed A.J. Brown most of the night and gave up just three catches for 25 yards. This was by far Lenoir's best performance of the season. Teams have been avoiding him for weeks. Finally, Robert Saleh put Lenoir in the thick of the action. More on Saleh in a minute.

Ji'Ayir Brown left the game with a hamstring injury, and his replacement, rookie Marquise Sigle, was a clear upgrade. It's incredible how the 49ers seem to have a never-ending stream of talent.

SPECIAL TEAMS: A-MINUS

San Francisco 49ers kicker Eddy Pineiro (18) kicks a field goal Monday, Dec. 22, 2025, during a game against the Indianapolis
Christine Tannous/IndyStar / USA TODAY NETWORK via Imagn Images

Eddy Pineiro missed an extra point and Thomas Morestead had a 25-yard punt. Other than those plays, this unit was good.

COACHES: A-MINUS

Jan 11, 2026; Philadelphia, PA, USA; San Francisco 49ers head coach Kyle Shanahan shakes hands with Philadelphia Eagles head
Bill Streicher-Imagn Images

Kyle Shanahan was partially responsible for Brock Purdy's two interceptions. Shanahan is the one who called those greedy passes over the middle against a defense that specializes in taking those passes away.

But with the season on the line, Shanahan called one of the best plays of his career -- the reverse wide receiver pass from Jauan Jennings to Christian McCaffrey. Which means Shanahan didn't choke. Instead, he was clutch for a change. Respect.

But the 49ers won this game primarily because of their defense. Somehow, Robert Saleh held the Eagles offense to just 19 points with a bunch of nobodies. To be fair, the Eagles offense is worse than the sum of their parts, and their offensive coordinator probably will get fired in the next few days.

Still, Saleh officially put him out of business, and he gets credit for that.

Read more


Published
Grant Cohn
GRANT COHN

Grant Cohn has covered the San Francisco 49ers daily since 2011. He spent the first nine years of his career with the Santa Rosa Press Democrat where he wrote the Inside the 49ers blog and covered famous coaches and athletes such as Jim Harbaugh, Colin Kaepernick and Patrick Willis. In 2012, Inside the 49ers won Sports Blog of the Year from the Peninsula Press Club. In 2020, Cohn joined FanNation and began writing All49ers. In addition, he created a YouTube channel which has become the go-to place on YouTube to consume 49ers content. Cohn's channel typically generates roughly 3.5 million viewers per month, while the 49ers' official YouTube channel generates roughly 1.5 million viewers per month. Cohn live streams almost every day and posts videos hourly during the football season. Cohn is committed to asking the questions that 49ers fans want answered, and providing the most honest and interactive coverage in the country. His loyalty is to the reader and the viewer, not the team or any player or coach. Cohn is a new-age multimedia journalist with an old-school mentality, because his father is Lowell Cohn, the legendary sports columnist for the San Francisco Chronicle from 1979 to 1993. The two have a live podcast every Tuesday. Grant Cohn grew up in Oakland and studied English Literature at UCLA from 2006 to 2010. He currently lives in Oakland with his wife.

Share on XFollow grantcohn