Eagles Survive Nail-Biter Rain Game To Pick Up Huge Road Victory Over Bills
Drew Hallowell / Philadelphia Eagles
The Eagles, on the road, hung on to win a close one.
After falling to 8-5 on the season and reaching a point where the NFC East division title wasn’t a guarantee, the Philadelphia Eagles responded in a big way, capping off their final game of 2025 with an ugly offensive performance, but an impressive defensive performance to knock off the Buffalo Bills 13-12 in Western New York. The Bills scored a touchdown with five seconds remaining in regulation and elected to go for two for the win, but failed to convert.
The Eagles were all over the place in this one as they were able to take a 13-0 lead into the final five minutes of action, but two rushing touchdowns from Josh Allen brought the Bills right back into the game. The other quarterback in the game, Jalen Hurts, didn’t light the world on fire in the first half, and the second half was even worse, going 0-7 in the second half, throwing for zero yards. The Eagles’ offense as a whole only had 17 yards in the second half.
After the Bills won the toss and elected to defer, the Eagles’ offense took the field to open up the heavyweight matchup. However, the Eagles’ offense didn’t start the way they hoped as early incompletions led to an early three-and-out. The Bills’ first offensive possession didn’t go great, as after a few first downs, a sack from Jalyx Hunt forced a punt from them.
The Eagles’ next drive didn’t go that great either, ending in a quick punt, but the Bills’ next drive started with a bang. After fumbling the snap on first down, Allen locked in and fired a bullet down the field into the arms of Brandin Cooks for a 50-yard gain. However, after a seven-yard run from James Cook, Allen rolled out right and, on the scramble, fumbled the ball, and it was recovered by Jihaad Campbell.

With the ball back in the Eagles’ hands, Jalen Hurts and company finally put a dominant drive together. Hurts found Darius Cooper open the drive with a 4-yard catch and back in the air, Hurts found A.J. Brown open down the field for a big 27-yard grab, putting the Eagles in the redzone.
Small gains from catches from Brown again and Grant Calcaterra, and a first down run thanks to Saquon Barkley made it 1st and Goal, Eagles. Two plays later, Hurts faked a handoff and found Dallas Goedert wide open for his 11th touchdown on the year, the most ever by an Eagles tight end in a single season.
Down 7-0, the Bills needed to answer, and Allen got things going with a big 17-yard run for one first down. and a 12-yard completion to Joshua Palmer for another one, putting Buffalo across midfield. Once these past midfield, though, back-to-back incompletions from Cooks and Palmer brought up fourth down and forced another punt from the Bills.
With over 10 minutes to play in the first half, the Eagles went on a near seven-minute drive to extend their lead over Buffalo. Barkley started with a six-yard run, and Hurts then hit DeVonta Smith for an 11-yard catch and Brown for 19 yards. Philadelphia got a little bit of help as on a third and long at the Buffalo 43, Matt Milano was called for a defensive holding penalty, extending the drive. The Eagles didn’t do much with the help, as three plays later, they set up for a 47-yard field goal from Jake Elliott, who drilled it to make it a 10-point Eagles lead.
Back on offense, the Bills continued to struggle to move the ball against the Eagles’ defense. Cook ran for just one yard on the first play, and then a returning Jalen Carter took down Allen for Philadelphia’s third sack of the afternoon. Buffalo then punted it back to Philadelphia, putting Hurts and the offense into a three-minute drill to grab more points.
The offense continued humming with three runs from Barkley totaling 30 yards, and Hurts hitting Brown for an 8-yard catch and Smith for 14 yards, putting them back in the redzone with just over 30 seconds until the half. While they were able to make it all the way down into a near-goal-to-go scenario, short completions and a throw away from Hurts forced another field goal from Elliot, who drilled it to make it 13-0 Eagles heading into halftime.
Out of the break, the Eagles’ defense picked up right where they left off, forcing a three-and-out punt from the Bills on their first offensive possession of the second half. The Eagles answered back with a punt of their own after only five plays, but the Eagles’ defense picked up the offense once again with Moro Ojomo sacking Allen to halt their drive, where they picked up three first downs before it.
Philadelphia once again didn’t do much with the ball when they got it back, going three and out again thanks to three straight incompletions. The Bills, who struggled all game long to put long drives togther finally got one going thanks to a big 26-yard pass interference penalty called on Quinyon Mitchell and an even bigger 32-yard catch from Tyrell Shavers, setting Buffalo up for 1st and Goal at the seven.

Needing just seven yards to cut the deficit in half, the Bills couldn’t do it on the first three plays, getting the ball down to the three on fourth down. Sean McDermott elected to go for it on fourth down, and Allen dropped back and began to scramble towards the endzone, but was stopped and tackled short by Zack Baun, forcing a turnover on downs.
Stuck inside the one, the Eagles barely managed to move the ball and were forced to punt again, but the Bills once again shot themselves in the foot on their following possession as a huge 19-yard sack taken by Allen forced them out of field goal range and forced them to punt back to Philadelphia.
The Eagles second half offensive struggles continued after the Bills’ punt, as Hurts and company failed to even gain a first down for the third drive in a row. Buffalo, still down 13 with under 11 minutes to play, needed points and needed them quickly.
Using rushes from Cook and small completions thrown by Allen, the Bills’ offense finally got moving down the field into the Eagles redzone. A 13-yard catch from Khalil Shakir and an eight-yard run from Ty Johnson put the ball back down at the three-yard line. A one-yard run from Johnson brought up third down at the two-yard line, and instead of handing it off, the Bills pushed Allen into the endzone for their first touchdown of the game. However, on the extra point, Carter managed to block Michael Badgley‘s kick to keep it a seven-point game.
Five minutes remained in the game, and the Eagles, for the fourth drive in a row, went three and out, shaving just two minutes off the clock. The Bills had the ball back with a chance to go down and tie the game. They weren’t able to get the ball moving right away, but on 4th and 10, Allen hit Shavers for a completion, who pitched it to Johnson for 21 yards and a first down.
Two plays later, Allen hit Cooks deep down the field for a miracle 36-yard pickup to set the Bills up for 1st and Goal. Two rushes from Allen and Cook put them down to the three-yard line. On third down, Allen tossed what he thought was a touchdown to Dawson Knox, but after a review, was ruled short. After the review, Allen lined up under center and, for the second time on the night, snuck his way into the endzone for his second touchdown of the game.
McDermott elected to go for two for the win, and on the two-point play, Allen missed Shakir wide open in the endzone, keeping it a one-point game. On the ensuing onside kick, the Eagles recovered it and kneelt out the clock, hanging onto the 13-12 victory.

Matt Brown
Matt has been a Philadelphia sports fan all his life and spent four years at Penn State University majoring in Broadcast Journalism and minoring in Sports Studies. He previously covered Penn State’s field hockey, men’s and women’s basketball, and baseball teams while writing for a Penn State blog called Onward State. He has now covered the Phillies, Eagles, and Sixers for Philly Sports Reports since October 2024 and wants to pursue a career in Sports Journalism.
Get New Articles Emailed Right To Your Inbox:

