Week 4 Takeaways for the 2025 NFL Season
Breaking news: winning games in the NFL is hard. Several teams just won for the first time this week, while multiple others that hadn’t lost to date fell. Two teams didn’t win or lose. Winning can also come in different styles. Kansas City crushed Baltimore with WR Xavier Worthy back stretching the field. Chicago won their game on a blocked FG to spoil a big day from Raiders rookie RB Ashton Jeanty. These results all count the same in the standings, and they could come back to save or haunt various teams later in the season. Scroll down to read my week 4 takeaways for the 2025 NFL season and see who did what!
TNF: Seahawks Walk Off Against Cardinals After Blowing Late Lead
This one started oddly, turned into a likely rout, and then got tight at the end. First, Cardinals QB Kyler Murray threw an awful INT to S Coby Bryant, but as he returned the ball, teammate Tyrice Knight hit him and jarred it loose. Arizona managed to recover, with the entire incident netting the Cardinals a 5-yard gain. Putting the oddity of the play aside, the real point here is that Murray has continued to struggle when throwing to second-year wideout Marvin Harrison Jr. On that play, the two Cardinals seemed to be on different pages, which we’ve seen far too often. Murray would later throw another INT on a pass that Harrison dropped.
Conversely, after punting on their first drive, Seattle moved the ball and scored points with ease. QB Sam Darnold (18/26, 242 yards, TD; 1/24 rushing) looked to be in rhythm, and he excelled when throwing to TEs Elijah Arroyo (2/44) and AJ Barner (3/32/1). RB Zach Charbonnet (12/39/1) ground out some tough yards, while Kenneth Walker (19/81; 1/29 receiving) was the more explosive back. The Seahawks jumped out to a 17-3 lead early in the third quarter because of their offensive efficiency and a smothering defense. Seattle players sacked Murray 6 times, including two for now-healthy OLB Uchenna Nwosu.
Murray (27/41, 200 yards, 2TDs, 2 INTs; 5/41 rushing) and the whole offense looked bad for 3 quarters. Without RB James Conner, who’s out for the year, the Cardinals couldn’t run, and pass catchers not named TE Trey McBride (7/52) were absent. However, Arizona got some help. A potential third Murray INT was dropped by S Julian Love. The defense shut Seattle down for much of the second half. Seahawks WR Jaxon Smith-Njigba, who had 0 first-half targets, committed a holding call that cost his team a TD (and turned ref Alex Kemp into a meme) and kept the game a two-score contest. In the 4th quarter, Arizona helped themselves.
Harrison (6/66/1) finally got in sync with Murray. He caught a few nice back-shoulder throws and earned a TD that led him to drop to a knee in relief. Following a missed 53-yard FG by Seattle kicker Jason Myers, Arizona scored again with 28 seconds to play, tying the game at 20. I feel as though Seattle got way too conservative, which cost them the lead, but credit the Cards for bouncing back. Alas, K Chad Ryland made a crucial error after Arizona’s score. He kicked off short of the target zone, granting Seattle the ball at the 40. That gave Darnold a chance to fix things, and he didn’t waste that opportunity.
He fired a perfect 22-yard pass to JSN (4/79), who was able to redeem himself. Likewise, Myers redeemed himself with a walk-off 52-yard FG as time expired. Last-second FGs have really not been good for Arizona. This 23-20 final provided plenty of teachable tape for both teams, but also some encouragement. Arizona proved that they can come from behind even with their run-first offense. They’ll only be good though if Harrison takes the next step. Seattle showed that they can dominate a game on defense and be explosive on offense, but they can’t have lulls like they did in this game and expect to come out on top every time.
Steelers Throttle Vikings in League’s First-Ever Dublin Game
Let me make one thing clear: I don’t think Ireland should’ve gotten an NFL game. I’ll stay out of the political aspect of my statement. Instead, I reiterate that these long-distance trips are detrimental to the teams, and safety is often an issue. Steelers’ backup QB Skylar Thompson was “jumped and robbed” prior to the game, which I’m sure had everyone on edge. Still, it’s clear that the NFL won’t stop with these international games. While they remain, they’re going to be centers of attention due to their abnormal time slots and exclusive viewing windows. With that said, let’s take a look at Vikings-Steelers.
Pittsburgh RB Jaylen Warren was a surprise inactive due to a knee injury, and Kenneth Gainwell got the start. The former Eagle probably deserves more touches, as he earned 134 scrimmage yards and provided some burst. This was the best version of the 2025 Steelers’ offense. QB Aaron Rodgers (18/22, 200 yards, TD) got the ball out very quickly to neutralize the Vikings’ excellent pass rush. WR DK Metcalf (5/126/1) finally got heavily involved, taking a catch-and-run for an 80-yard TD. Minnesota CB Isaiah Rodgers (yes; him again) blocking an FG (what’s with all these blocked kicks?) was the only blemish through 3 quarters.
On the Minnesota side, it was a struggle. I said that the defense had a tough day, but the offense had it even worse. Substitute QB Carson Wentz (30/46, 350 yards, 2 TDs, 2 INTs) did some good things, most notably getting WR Justin Jefferson (10/126) involved. The superstar is far better with Wentz than with JJ McCarthy. Fellow receiver Jordan Addison (4/114) returned from suspension and had a productive day as well. That’s about all of the nice things I can say though, and I have to move on to the negatives, i.e., the offensive line. Wentz makes a couple of “Wentz” throws every game, but this game wasn’t his fault.
Already down starting guard Donovan Jackson, the Vikings lost C Ryan Kelly and RT Brian O’Neill with a concussion and a knee injury, respectively. Neither player returned. Facing a deadly Steelers pass rush, this was poor timing. Wentz took relentless pressure to the tune of 6 sacks. He threw 2 INTs as a result (one came on a tipped ball) and couldn’t product points until late. The line also couldn’t run block. A 15-point burst in the 4th quarter made the score look close (24-21), but Pittsburgh only felt scared for about a minute. The Steelers took their foot off the gas, but it didn’t really cost them.
The Pittsburgh defense, which came into the game with unusually poor tape, played like their old selves. DE TJ Watt and S DeShon Elliott each had both an INT and a sack. Five Steelers dropped Wentz, and the Vikings ran for just 3.5 yards per carry. I can’t say that the Steel Curtain is back, but this was a step in the right direction. For Minnesota, the defense can’t have such a poor half. Wentz is a competent backup and is probably better than McCarthy right now, but he can’t carry the roster. The pieces around him need to step up, and they certainly didn’t over in Europe. Their late surge at least gave the Irish fans a fun game.
Giants, Texans, and Dolphins All Earn Long-Awaited First Wins
Three teams escaped the winless ranks this week, two of which were long overdue. The Giants were expected to be poor, but this week was all about the debut of first-round rookie QB Jaxson Dart (13/20, 111 yards, TD; 10/54/1 rushing). He did alright, particularly with his legs, but I’m not worried about him yet as a passer. His reckless running style got him into concussion protocol for a few minutes, forcing the benched Russell Wilson (who is available for trade) into the game in an awkward situation. Amazingly, the Giants shocked the 3-0 Chargers 21-18, but don’t declare Dart the savior for that.
With RB Tyrone Tracy out due to a shoulder injury, rookie Cam Skattebo (25/79) had a chance to carve out a bigger role moving forward. It wasn’t flashy, but he ran hard and earned more than what was blocked. I think he’s a keeper. The reason for the win though was the defense. Chargers LT Joe Alt left with a high ankle sprain, leading to open season on QB Justin Herbert (23/41, 203 yards, TD, 2 INTs). New York’s talented line teed off, with Dexter “Sexy Dexy” Lawrence even earning an athletic INT. The only bad part of this game: star 2nd-year WR Malik Nabers tore his ACL. I hope he gets well soon, but unfortunately his year is done.
Houston shutting out Tennessee 26-0 was a welcome development, but it speaks more to the Titans’ ineptitude. The Texans have played well enough defensively to win every game this year. They made life miserable for poor rookie QB Cam Ward, which gave the offense time to find its footing. Houston put up points in the second half, but again, I can’t call this a resurgence given their competition. A day after the win, they traded possibly their only competent lineman in Cam Robinson. Expect the protection up front to get even worse. This defense deserves a better fate, but at least the Texans are better than lowly Tennessee.
On MNF, two 0-3 teams faced off…just how the league drew it up I’m sure. QB Justin Fields (20/27, 226 yards, TD, FUM; 7/81/1 rushing) returned from concussion protocol for the Jets, but aside from an epic 4th-down TD run and a spectacular TD grab on a jump ball by WR Garrett Wilson (6/82/1), he wasn’t very good. In his defense though, his teammates were far worse. Two of them lost fumbles, and the Jets committed 13 accepted penalties for 101 yards. The very first drive set the tone: an 82-yard march that ended with a fumble. With that lack of discipline and a defense that couldn’t get off the field, losing just 27-21 was lucky.
Miami had far more positives to take away. RB De’Von Achane (20/99) shredded the Jets, QB Tua Tagovailoa was efficient, and the defense earned 3 turnovers (0 in their first 3 games). Did you know this is the best 3rd-down offense in the league? TE Darren Waller (3/27/2) finally made his team debut, and he had a massive impact. He caught a nice TD on 4th and goal to cap a 96-yard drive, scored another TD in the second half, and recovered an onside kick for good measure. He’ll need to be this good going forward, as WR Tyreek Hill (6/67) left with an ugly dislocated knee. It was a sad moment on an otherwise cheery night for the Fins.
Self-Inflicted Wounds Hand Bucs, Colts, and Niners Their First Losses
The Chargers weren’t the only team to taste defeat for the first time in 2025. In our only matchup of 3-0 teams, the Eagles and Bucs battled in Tampa. TB didn’t have WR Mike Evans, but WR Chris Godwin (3/26) and LT Tristan Wirfs both made their season debuts. In the first half, it didn’t matter much. Philly earned a blocked punt TD and a fake tush push TD, seemingly playing with their food. They stormed out to a 24-6 lead and seemed unstoppable. If we know Baker Mayfield and the Buccaneers though, they never surrender. Mayfield (22/40, 289 yards, 2 TDs, INT) led a spirited comeback as he is wont to do.
Rookie WR Emeka Egbuka (4/101/1) continues to shine, and RB Bucky Irving (15/63; 5/102/1) led the team in both rushing and receiving. The defense allowed only 7 second-half points, with PHI QB Jalen Hurts (15/24, 130 yards, 2 TDs; 9/62 rushing) throwing for 0 2nd-half passing yards. Turnovers doomed the Bucs though, as a Mayfield INT on a forced pass and an Irving fumble cost them. Making the score palatable (31-25) was impressive regardless, and this team is legitimate (they were the last ones to beat Philly in a game started and finished by Hurts after all). The Eagles have their lapses, yet they’re 4-0. They’re still the champs.
In LA, the Rams hosted the surprising 3-0 Colts. QB Daniel Jones (24/33, 262 yards, TD, 2 INTs) fell back to earth, with no rushing output and his first two turnovers of the season. Both of his INTs went to S Kamren Curl, who also had 9 tackles. On the other side, QB Matthew Stafford (29/41, 375 yards, 3 TDs) had his finest outing of the season. Naturally, he fed WR Puka Nacua (13/170/1) early and often, but it was Davante Adams (4/56/1) who caught the TD pass on a masterful 96-yard 2-minute drill before halftime. Despite all of this, the Colts had a chance to win. Three catastrophic plays ruined their day, 2 by one guy.
WR AD Mitchell (3/96) should probably burn this tape. He had a 75-yard reception, but there was one problem: he needed 76 for a TD. In a classic case of celebrating too early, he dropped the ball short of the goal line for a touchback. It’s baffling that this still happens with professionals. He also committed a holding penalty to bring back a 53-yard Jonathan Taylor (17/76) TD run in the 4th. Finally, tied 20-20 with 1:33 to go, the defense busted a coverage, allowing WR Tutu Atwell to run free for an 88-yard TD catch just one play into the LA drive. Indy lost 27-20, but they were still competitive. You can’t give the game away against good teams.
QB Brock Purdy returned for the 49ers after missing two weeks due to injury, but his matchup against Jacksonville was anything but easy. The Jaguars have become a takeaway-happy squad, and they lead the league in that department. They nabbed 4 more against SF, and Purdy himself was responsible for 3 of them. RB Christian McCaffrey (17/49; 6/92/1 receiving) lost a fumble, and Purdy (22/38, 309 yards, 2 TDs) tossed 2 INTs. Even when a Cam Little FG miss gave San Francisco life, former Niner Arik Armstead strip sacked Purdy on the next play. It was a sloppy game all around for the previously 3-0 team.
On defense, they let RB Travis Etienne (19/124/1) run wild. The special teams unit surrendered an 87-yard PT TD to Parker Washington. Even the injury bug struck again, with RB Ricky Pearsall (4/46) exiting early this time. The fact that the Niners only lost 26-21 tells you they’re good, but most teams will beat you when you’re that careless with the football. Jacksonville presents an interesting case. If not for Jake Browning of all people (who bombed against Denver), the Jags would be 4-0. New HC Liam Coen is turning this team around at a rapid pace. Now all he needs to do is avoid fights with opposing defensive coordinators.
Micah Parsons’ Return to Dallas Ends in Rare Tie
The NFL must be loving its good fortune. When they scheduled Packers-Cowboys for SNF in week 4, former Dallas edge rusher Micah Parsons wasn’t yet on the trade block. In the time since, the Cowboys traded him to Green Bay, a team scheduled to play in Dallas in primetime. Both sides insisted that this was just another game, but we know better. At the start, it seemed like Green Bay would torch Dallas. The Cowboys’ offense punted 3 straight times, while QB Jordan Love and the Packers reached the end zone twice in their first 3 possessions. That second TD actually proved to be the spark their opponents needed.
Leading 13-0 and kicking a standard PAT, K Brandon McManus saw his attempt blocked, and S Markquese Bell took it back for a 2-point conversion. The play energized Dallas, who followed it up with a 95-yard TD drive, a strip sack by DE James Houston, and a 1-play TD drive with just 9 seconds left in the half to take a 16-13 lead. Green Bay felt totally stunned, but they regrouped during halftime. Finally, we got the shootout we anticipated. Love (31/43, 337 yards, 3 TDs; 3/28 rushing) and Dallas QB Dak Prescott (31/40, 319 yards, 3 TDs; 1/2/1 rushing) dueled as if neither defense came out of the locker room for the 3rd quarter.
Both starting RBs, Javonte Williams (20/85/1) for Dallas and Josh Jacobs (22/86/2; 4/71 receiving) for Green Bay, had strong games. RB Emanuel Wilson (8/44; 3/37 receiving) even added a spark for the Packers. GB WR Romeo Doubs (6/58/3) became a TD machine, while DAL WR George Pickens (8/134/2) played the role of a true #1 receiver with CeeDee Lamb injured and inactive. The teams traded the lead numerous times throughout the second half, including twice in the final minute. It was only fitting that 4 quarters failed to decide this one. Tied 37-37, this battle headed to OT, where the Packers won the toss and chose to kick.
Dallas chewed up a little more than half the clock and nearly reached the end zone. However, Parsons made his one impactful play of the game, tackling Prescott as he ran toward the end zone, forcing a short FG attempt (somehow this 0.1-yard play went down as a sack). As they did all game long, the Packers moved the ball down the field against the Dallas defense. Green Bay managed the clock poorly though, and Love nearly blew their chance. Facing 3rd and 14 with a running clock, Love threw the ball away with just 1 second left. Had the ball exited the end zone instead of hitting a Cowboy, time might have expired.
McManus calmly kicked a 34-yard FG as time expired, ending this weird game with a final score of 40-40. I feel like this is better for Dallas than for Green Bay. We’ll see how this affects tiebreakers lately, but the Cowboys did not want to lose to Parsons. Technically, they didn’t. Dallas still isn’t great, as both of their wins have come in OT shootouts. That’s not sustainable. Green Bay has more upside, but they can’t keep blowing late leads. I want to end with one point about the new OT rule: I love it, but the NFL should go back to a full 15-minute period. These games often feature just 1 possession per team, making a tie needlessly likely.