FINAL: 49ers 23, Eagles 19 -- Eric Kendricks calls game
The veteran linebacker, picked up just a month ago, breaks up Jalen Hurts' fourth-down throw for Dallas Goedert. An incredible comeback from San Francisco.
No Fred Warner, Nick Bosa, Ricky Pearsall, Mykel Williams, Brandon Aiyuk and a host of others. George Kittle carted off in the second quarter with an Achilles injury. On the road, against the defending champs.
No problem for the San Francisco 49ers. Behind a valiant effort from Brock Purdy, Christian McCaffrey and an undermanned defense alike, the 49ers upset the Philadelphia Eagles, 23–19.
The visitors took the lead for good on Purdy's 4-yard touchdown pass to McCaffrey with under three minutes left, and veteran linebacker Eric Kendricks broke up a fourth-down pass to complete a remarkable comeback.
Purdy finished with 262 passing yards and two touchdowns, as well as two interceptions. McCaffrey had 114 yards from scrimmage and two scores, and Demarcus Robinson had 111 receiving yards and a touchdown.
The fourth quarter featured three lead changes. On the first play of the quarter, wide receiver Jauan Jennings' 29-yard touchdown pass to Christian McCaffrey gave the visitors a 17–16 lead. Jennings, who also threw a touchdown pass in Super Bowl LVIII, played quarterback in high school, and Kyle Shanahan picked a perfect time to dip into those skills.
The Eagles responded with a punt and appeared to be in dire straits before Quinyon Mitchell intercepted Purdy for the second time. That set up Jake Elliott's 33-yard field goal.
Ultimately, though, it wasn't enough, with Purdy leading one final scoring drive and the San Francisco defense getting one final stop.
The 49ers will meet the Seattle Seahawks in the divisional round. Seattle beat San Francisco 13–3 in Week 18 to win the NFC West and the No. 1 seed.
The 49ers' resilience is truly remarkable, and those two characteristics live in everyone in the organization, from the front office to Shanahan to the roster.
Let's start with Purdy. Yes, the two interceptions were awful. But he also made several tremendous throws. His 8.5 yards per attempt were the second-highest by any player against the Eagles this season, and his 14.6 yards per completion were third-highest. He got the big-play party started early ...
... and kept it going throughout the game. The 49ers finished with four different passing plays of 25-plus yards.
Purdy is a risk taker. He'll try to make some really tough throws, and those decisions can come back to haunt him. They did twice when throwing at Mitchell. But he also makes some plays that take Shanahan's already outstanding offense to another level.
McCaffrey, though, remains the engine, even if that engine had to power through some tough conditions at first.
McCaffrey is such a talented pass catcher, and not just in the traditional running back sense, either. He runs legitimate downfield routes. That opens up space for Purdy to find guys like Robinson, whose vertical abilities were on display all game.
But then there's the other guys who aren't as appreciated. If you told 49ers fans at the beginning of the season that Kendricks would save a playoff game, they'd be very confused: The 11th-year linebacker only joined the practice squad in late November, and he's only playing because Warner and several of his replacements are injured.
Kendricks and Garret Wallow -- a linebacker signed after Kendricks was -- combined for 21 tackles, two tackles for loss and two passes defensed.
The 49ers had a 54.5% passing success rate in this game, the highest by any team against the Eagles in the last two years. Purdy only took one sack.
Shanahan was just terrific. He didn't stray from the run, even when it wasn't as effective as he would have liked. He kept dialing up deep and intermediate shots, even after Purdy's picks. The Jennings trick play touchdown pass was perfectly timed.
Shanahan's playoff runs are littered with disappointing endings, yes, but perhaps we should appreciate the good in them, too. He's made at least the conference championship game every time he's made the postseason as a head coach. Now, he's one win away from doing it again. He has done more with less this season than any other coach.
The Eagles' stop-and-start offense was on clear and obvious display.
Hurts had some strong moments, but the one stat that stood out most was the complete lack of downfield passing. He went 0 for 7 on throws 15-plus yards downfield.
That included a 0 for 4 mark when targeting A.J. Brown. Two of those were flat-out drops, and after the first, he and Nick Sirianni exchanged words on the sideline.
Brown also had a drop on the Eagles' final drive. Though Hurts ended up converting on the next play, it was emblematic of Brown's frustrating night (three catches, 25 yards) and season. He reportedly left the locker room without taking questions.
The Eagles also had multiple big gains called back for penalties, and Elliott missed an extra point, which ended up looming large.
Philadelphia led the league in percentage of three-and-punt drives and was 21st in points per drive. Offensive coordinator Kevin Patullo and his offense struggled to find consistency all year, and it came back to bite them in their one-and-done postseason.
The veteran linebacker, picked up just a month ago, breaks up Jalen Hurts' fourth-down throw for Dallas Goedert. An incredible comeback from San Francisco.
Jalen Hurts threw a strike to Brown, who dropped it. It's his second big drop today.
Christian McCaffrey fittingly caps off a drive on which he was leaned on heavily. Great job by the San Francisco offensive line and by Brock Purdy here, too. Purdy got through all of his reads, but only because the protection game him a chance to do so.
It's been mostly tough sledding for Christian McCaffrey, but he has been terrific on this drive.
Elliott is good from 33 yards away. Do the shorthanded 49ers have another answer in them?
Barkley went to the sideline under his own power, but he was clearly limping and in some pain. A big loss for however much time he misses.
Quinyon Mitchell has his second pick of the day. He now has four interceptions in five career playoff games despite having zero in 32 regular-season games.
What CAN'T he do?! Jauan Jennings, a wide receiver, just threw a touchdown to Christian McCaffrey on the first play of the fourth quarter.
Jennings also threw a touchdown pass in the Super Bowl a few years ago. He was a quarterback in high school.
They went nearly a quarter between first downs, but the Eagles have extended their lead to 16-10 on Jake Elliott's 41-yard field goal. Despite just 26 yards in the third quarter, Philadelphia has outscored San Francisco 3-0 in the frame.
Earlier this week, I wrote that the Eagles' stop-and-start offense could be its fatal flaw, and it's sure looking iffy right now.
Philadelphia's first two series of the second half:

Purdy was way, way late on the throw, and Quinyon Mitchell will take this every day of the week.
Mitchell now has three interceptions in five career playoff games; he has zero career regular-season interceptions.
Purdy has made some outstanding throws outside the numbers, including a 14-yard completion to Demarcus Robinson just a few moments ago.
EAGLES
A.J. Brown has just three catches for 25 yards, and he missed a couple of downfield opportunities. He also had a confrontation with Nick Sirianni on the sideline.
49ERS
The 49ers looked like they might get a chance for a field goal before halftime. Then they couldn't get lined up and had to waste a timeout after an incompletion, and they took a long time to get lined up with just seconds left in the half as well. That left eight second on the clock, and Brock Purdy tried to scramble to get into field goal range and get out of bounds. He couldn't get out of bounds though -- ultimately fumbling the ball out of bounds, which winds the clock.
Purdy uncorked another beauty, this time to Jauan Jennings, who took it 45 yards. The drive sputtered thereafter, though, and Eddy Piñeiro knocked through a 36-yard field goal.
Purdy is 7 for 9 for 134 yards and a touchdown -- a terrific start even with the 49ers' injury-ravaged receiving corps.
Kittle's calf appeared to pop on replays, and that is not good news at all. The 49ers are already down so many guys.
The Eagles go 16 plays and 94 yards for their second touchdown in their first three possessions. The 49ers defense just can't get enough disruptive plays to throw Philadelphia off balance, and even when they do, they can't string enough together.
Goedert joins Ricky Watters (1995) as the only Eagles with a rushing touchdown and a receiving touchdown in a playoff game.
Barkley already has two plays of 20+ yards, tied for his most in a game all season. Great work by him on a screen in space, allowing his blocks to develop before showing off his explosiveness.
Saquon Barkley has nine carries for 48 yards, but remember, 29 of those 48 came on one carry. That means Barkley's other eight carries went for 19 yards. His 44% rushing success rate is below what the 49ers allowed this year (52%, worst in the NFL). We'll see if the hosts can be a bit more consistent on the ground.
On fourth-and-2, Jalen Hurts tried an out route to Devonta Smith, but Upton Stout undercut the route and nearly picked off the pass. Really nice play by Stout, the third-round rookie who has flashed as a slot corner.
The Eagles haven't converted a fourth down since Week 8.
Demarcus Robinson had 63 receiving yards on the opening drive. His season high for an entire game was just 44.
Meanwhile, Dallas Goedert became the first tight end in NFL history with a playoff rushing touchdown, per CBS Sports research.
Philadelphia just trampled San Francisco's defense, and Dallas Goedert scored easily from 1 yard out, but Jake Elliott's extra point doinked off the upright.
Saquon Barkley had a 29-yard rush to jumpstart the drive. That would have been his fourth-longest run of the regular season. That's a good sign for the hosts. Elliott's continued struggles aren't.
One drive, seven points for the 49ers. San Francisco went right after All-Pro cornerback Quinyon Mitchell on a pair of big plays to Demarcus Robinson.
The 49ers get the ball to start.
It's a nice enough day in terms of temperatures (44 degrees) and sunshine, but wind gusts could get up to 35 miles per hour. We'll see how it affects the passing game and the kicking game.
San Francisco lost Fred Warner midseason. His replacement, Tatum Bethune, is out for the season after tearing his groin in Week 18. Dee Winters and Luke Gifford also got hurt in Week 18 and are out this week.
That leaves ...
as the only linebackers available today.
The 49ers have had major injury issues all season, and that's continuing today. Wide receiver Ricky Pearsall (knee, ankle - questionable) and Dee Winters (ankle - questionable) are both out. However, star left tackle Trent Williams (hamstring) is active.
This is a massive blow for Philadelphia. The Eagles' offense has a 46% success rate with Johnson on the field this season compared to 43% without him.



















