49ers vs. Eagles: Brock Purdy, San Francisco dethrone Philly on late fourth-quarter TD drive
There have been two consistent storylines to the San Francisco 49ers’ season: They lose star players to injuries, and they keep winning in spite of it.
Not many teams have overcome the amount of important injuries that the 49ers have this season. In the first half Sunday they lost tight end George Kittle to an Achilles injury. And the 49ers won anyway, upsetting the Eagles 23-19 in the NFC wild-card round in a victory that ended Philadelphia’s quest for a second straight Super Bowl title.
The 49ers went 12-5 and had a shot at the No. 1 seed in the NFC all the way until the final game of the regular season despite the slew of injuries through the year. When they lost Kittle Sunday, they had at least been through that situation before.
Receiver Jauan Jennings threw a touchdown pass to Christian McCaffrey in a key turning point at the beginning of the fourth quarter, and McCaffrey caught another touchdown in the final three minutes to give the 49ers a late lead.
The Eagles drove to the 49ers’ 20-yard line but that’s when San Francisco’s defense tightened up, and on a fourth-and-11 Jalen Hurts threw into triple coverage over the middle and it was batted down incomplete.
The Eagles’ season ends in a massive disappointment, but it couldn’t have been too surprising based on how inconsistent they had been. Their offense never found its footing during the regular season and Sunday was more of the same, with a lack of execution and hardly any big plays. The dominant team that won a Super Bowl last season rarely showed up this season, and that carried over to the playoffs.
The 49ers deserve credit though. There haven’t been many teams better at overcoming adversity.

Both teams struggle in windy conditions
Bad weather games can make for a fun setting on television, but it can lead to some sloppy football.
Sunday was windy in Philadelphia, with gusts up to 36 miles per hour according to the Fox broadcast. It showed. Receivers had trouble tracking passes in the air. Both quarterbacks struggled with accuracy at times. Neither offense got much going.
The 49ers’ offense wasn’t helped by yet another major injury, something that has been an unfortunate theme throughout their season. Kittle went down with an Achilles injury as he was being tackled. He was carted to the locker room. If it is a torn Achilles for Kittle, who is 32 years old, it’s an injury that could affect the 49ers into next season as well.
The Eagles’ issue this season hasn’t been injuries, but a flailing offense and angst within their own ranks. That was exemplified in the first half by A.J. Brown not being able to haul in a couple of deep passes, then Fox showing Nick Sirianni sprinting down the sideline to tell his receiver to get behind the sideline, perhaps to avoid the Eagles getting a penalty for too many men on the field, and the two needing to be separated as they had words with each other.
The 49ers had a tough break at the end of the first half. Purdy scrambled in the final seconds, trying to get more yards for a field-goal attempt. Initially it was ruled he got out of bounds with one second on the clock, but a replay review showed he fumbled before landing out of bounds. There was a 10-second runoff due to the review and the half was over.
The first half ended with the Eagles leading 13-10, but neither team could have felt great about how it played.
49ers get heroics from Jauan Jennings, Brock Purdy and their defense
The 49ers weren’t getting much from their conventional offense so they went back to Jennings throwing the ball. That worked for a touchdown in the Super Bowl two years ago, and it worked to give the 49ers a lead early in the fourth quarter. Jennings, who was Rivals’ 13th-ranked dual-threat QB in his class but switched to receiver at Tennessee, got the ball on a reverse and looked downfield. He threw to McCaffrey, who did a remarkable job of tracking the ball and caught it over the shoulder for a touchdown. The 49ers hadn’t played great and suffered a huge loss when Kittle exited the game, but led 17-16 with that play.
The 49ers gave it back. Cornerback Quinyon Mitchell picked off a bad pass from Purdy. Mitchell had two interceptions and a forced fumble. The Eagles’ drive stalled but Jake Elliott hit a field goal and Philadelphia led again.
The 49ers weren’t giving up. Purdy led a drive downfield and found McCaffrey in the end zone for a 4-yard touchdown with 2:54 left. San Francisco missed the extra point but led 23-19.
The Eagles needed a touchdown but it was hard to trust their offense to put together a drive. Hurts threw a nice pass over the middle on third down but Brown dropped it, which led to a fourth-and-5. Hurts came up with a completion to Dallas Goedert to keep the drive alive. The Eagles kept it moving after that and reached the 49ers’ 20-yard line. Hurts threw too high to DeVonta Smith on third down and he couldn’t haul it in, then on fourth-and-11 Hurts tried to squeeze in a pass to Goedert and it was easily knocked down.
It will be a long offseason for the Eagles, figuring out how they took such a step back from their Super Bowl winning season. The offseason hasn’t started yet for the 49ers, which is remarkable given all they’ve dealt with.