Week 4 featured plenty of upsets. In fact, eight underdogs (according to Las Vegas point spreads) emerged victorious out of the 15 games on the slate.

Let's unpack another eventful weekend in the NFL with 10 takeaways from Week 4.

10. Jordan Howard comes alive, hangs 3 TDs on Packers

Jordan Howard, who was traded from the Chicago Bears to the Philadelphia Eagles in the offseason, was quiet through the first three contests of the year, totaling just 99 yards rushing (33 per contest).

Howard broke through with a vintage performance on “Thursday Night Football,” as he turned 15 carries into 87 yards and two rushing touchdowns against the Green Bay Packers. He nabbed three receptions for 28 yards and another score to compile his second career 3-TD game. Howard's third score came early in the fourth quarter and ended up being the game-deciding touchdown.

9. Workhorse Christian McCaffrey leads Panthers to win

Christian McCaffrey had a career-high 37 touches in the Carolina Panthers’ upset win over the host Houston Texans. He caught a game-best 10 catches (on a game-high 10 targets) for 86 yards to go along with 93 yards and a TD on the ground. The third-year running back broke a whopping 11 tackles.

McCaffrey is the engine that keeps the Panthers' offense rolling. He is on the field for nearly every snap and is seemingly the first option (rushing or receiving) on most plays.

The Panthers improved to 2-0 with backup QB Kyle Allen under center.

8. Nick Chubb carries Browns over Ravens

Nick Chubb lit the Baltimore Ravens’ defense up for three touchdowns and 165 yards, capped off by an 88-yard rushing score to seal the Cleveland Browns’ victory. He had five first-downs on the day and caught three passes for 18 yards.

Since entering the NFL in 2018, Chubb has three touchdown runs of 60 yards or longer, which is the most in the NFL. His career-long went 92 yards for a TD last year as a rookie.

Chubb is the first player ever with 150 rushing yards and three rushing touchdowns in a game against the Ravens.

The Browns also enjoyed a breakout outing from wideout Jarvis Landry. He racked up a career-high 167 yards on eight receptions, but left the contest early after suffering a concussion. His teammate, Odell Beckham Jr., went three quarters without a catch for the first time in his career. He ended the day with just two receptions for 20 yards.

7. Patriots' defense aids Tom Brady to another victory against Buffalo  

Tom Brady played awful, but managed to beat the Buffalo Bills for the 31st time in his legendary career. The Bills held Brady to a horrendous line of 18-for-39 for 150 yards with a paltry 3.8 yards per completion. He threw zero touchdowns, tossed an interception and posted a 45.9 passer rating. Despite finishing with his worst passer rating in 13 years, Brady got bailed out by his dominant defense and special teams.

J.C. Jackson was the player of the game for the New England Patriots, who scored all 16 of their points off Bills turnovers. Jackson collected two interceptions and blocked a punt that 12-year veteran Matthew Slater ran into the end zone for his first career TD.

Devin McCourty intercepted Josh Allen on Buffalo’s opening drive. McCourty has an interception in every game this season, the first player to accomplish that feat since 2003. McCourty and Jamie Collins (3 interceptions) rank first and second, respectively, in interceptions across the league.

New England’s defense has allowed just one offensive touchdown through four contests, tied for the fewest in the Super Bowl era.

6. Frank Gore reaches 15,000 yards rushing

Future Hall of Famer Frank Gore became the fourth player in NFL history to amass 15,000 rushing yards in the Bills' loss to the Patriots. The 15-year veteran rushed 17 times for 109 yards (6.4 yards per carry), increasing his career total to 15,021 yards. The Bills running back needs 249 yards to surpass Barry Sanders (15,269 yards) for third on the all-time list.

5. Larry Fitzgerald passes Tony Gonzalez for second-most receptions in NFL history

Another future Hall of Famer, Larry Fitzgerald had a milestone moment of his own on Sunday. Fitzgerald caught five passes in the Arizona Cardinals' loss, giving him 1,326 for his career as he leapfrogged tight end Tony Gonzalez for No. 2 all-time in receptions.  The 16-year veteran only trails Hall of Famer Jerry Rice (1,549) for most receptions in league history.

https://twitter.com/ftbeard_17/status/1178444243376852992

Fitzgerald also ranks second all-time in receiving yards (behind Rice) with 16,579.

4. Chris Godwin explodes for 172 yards, 2 TDs as Bucs score franchise-record 55 points

Tampa Bay Buccaneers wide receiver Chris Godwin missed practice Wednesday and Thursday with a hip issue and was deemed questionable for the Week 4 road tilt in Los Angeles. Fighting through pain to suit up, Godwin hauled in 12 receptions for a career-high 172 yards receiving and two touchdowns as the Bucs dropped 55 points in a stunning victory over the defending NFC champion Rams.

3. Shaq Barrett continues DPOY pace

Bucs linebacker Shaq Barrett intercepted a pass in the third quarter and strip-sacked Jared Goff with just over a minute remaining in the contest.  Teammate Ndamukong Suh scooped up the fumble and galloped for a touchdown to put the game out of reach.

Barrett now has 9 sacks, which leads the league and is the most sacks ever recorded through a player's first four games of a season.

With a quarter of the NFL season in the books, Barrett looks like the early favorite to grab the Defensive Player of the Year (DPOY) award.

Barrett signed a 1-year, $4 million deal with the Bucs in the offseason after spending the first five years of his career with the Denver Broncos. He is on track for a serious pay raise next free agency.

2. Leonard Fournette returning to elite rookie form

After a prolific rookie season, Leonard Fournette struggled in his sophomore campaign in 2018. Now in his third NFL season, Fournette looks like a dominant halfback again. He rushed for a career-high 225 yards in the Jacksonville Jaguars' 26-24 win against the Denver Broncos. It was his first 100-yard-plus performance since his rookie season.

While Fournette was unable to reach the end zone, he carried the offense all afternoon. Fournette, who caught two passes for 20 yards, accounted for 245 of the team's 455 total yards. His 81-yard run in the third quarter was a critical turning point in a comeback win for Jacksonville.

1. Dolphins' second-half scoring woes continue

The Miami Dolphins took their first lead (7-3) of the 2019 season when DeVante Parker caught a 34-yard TD pass from Josh Rosen in the first quarter. But the Los Angeles Chargers dominated the rest of the afternoon, rolling to a 30-10 victory.

The Chargers were led by Austin Ekeler, who registered 60 yards rushing with a TD to go along with five catches for 62 yards and a receiving touchdown.

Los Angeles outscored Miami 13-0 in the second half. Miami has failed to score a single point in the second half this season, being steamrolled 81-0 following intermission through four contests.