
The wind was wild, the margin was razor thin, and the moment demanded toughness. On Sunday afternoon in Philadelphia, the San Francisco 49ers delivered all three. They managed to outlast the defending Super Bowl champion Eagles 23–19 in a gritty Wild Card win that sent them marching on to the next round of the playoffs.
From the opening kickoff, it was clear conditions would shape everything. Gusts whipped through Lincoln Financial Field, making life difficult for kickers and quarterbacks alike. Still, the 49ers came out sharp and fast.
San Francisco received the opening kickoff and wasted no time making a statement. On just the second play of the game, Demarcus Robinson exploded for a 61-yard gain. A few snaps later, Brock Purdy capped the drive with a touchdown strike to Robinson off a beautifully designed fake jet sweep and toss concept. Just like that, the 49ers were up 7–0.
Christian McCaffrey, who finished the regular season second in the NFL in scrimmage yards behind only Bijan Robinson and ranked sixth among all in receptions as well, was once again the engine. With Trent Williams back in the lineup, the offense had rhythm early despite the conditions.
Philadelphia responded behind Saquon Barkley, capitalizing on a lapse in gap discipline when Deommodore Lenoir folded inside, allowing Barkley to rip off a 29-yard run. The Eagles tied the game late in the first quarter, but the wind made its presence felt immediately as Jake Elliott missed the extra point.
The second quarter turned into a defensive slugfest. San Francisco’s offense sputtered, going three-and-out on consecutive drives, but the defense kept answering. Rookie corner Upton Stout delivered a massive fourth-down pass breakup to get the ball back, and despite another three-and-out, Thomas Morstead pinned the Eagles deep with a booming punt.
Philadelphia eventually converted a fourth down of their own and found the end zone, but the 49ers answered before halftime. After George Kittle exited with an Achilles injury, Purdy immediately threaded a 45-yard dart to Jauan Jennings. Eddy Piñeiro drilled a 36-yard field goal through the swirling wind to keep it tight.
The half ended in chaos. A late drive stalled after a missed opportunity and a Purdy scramble that appeared to get out of bounds but was ruled a fumble, preventing San Francisco from attempting a final kick. The teams went to the locker room with momentum still very much in play.
The third quarter belonged to the defenses. The 49ers, starting their fifth, sixth, and seventh string linebackers of the season, somehow tightened the screws even more. San Francisco forced three straight Eagles three-and-outs, but couldn’t capitalize offensively. A rare poor punt swung field position, and Elliott knocked through a 41-yarder to put Philadelphia ahead 16–10 late in the quarter.
Then the game flipped.
Early in the fourth, Kyle Shanahan reached deep into the bag. Purdy handed off on a jet sweep to Skyy Moore, who pitched it to Jennings, who threw it downfield to McCaffrey for a stunning touchdown. In the blink of an eye, the 49ers were back on top 17–16.
The teams traded blows down the stretch. Two Purdy interceptions led to Eagles field goals, but San Francisco refused to break. With just over three minutes left, Purdy delivered his best throw of the night in a perfectly placed touchdown pass to McCaffrey to give the 49ers a 23–19 lead. Piñeiro missed the extra point in the wind, leaving the door cracked.
Philadelphia had one last chance.
Facing 4th-and-11 from the 21-yard line, Jalen Hurts, who entered the game second only to Patrick Mahomes in playoff wins, looked for a miracle. Instead, Eric Kendricks, tasked with being the voice of the defense for the first time this season, due to the Tatum Bethune injury, broke up the pass and sealed it.
Ballgame.
Despite losing George Kittle early, the 49ers leaned on Kyle Juszczyk and Jake Tonges, played complementary football, and trusted a defense that made stop after stop when it mattered most. In brutal conditions, against the defending champs, San Francisco proved they’re still built for January.
The storm has passed. The 49ers are still standing.
And they’re not done yet.