In our last post, we reflected on the 2024 Bills passing game, concluding that the spread-it-around-the-field mentality yielded a clean and efficient offense but also left a lot on the field. Individual players weren’t required to have big days or even big seasons. Instead, each player filled their assignments as each individualized game plan called for, with no player shining, and yet Josh Allen’s turnovers were way down and he stayed upright the most of any QB in the league, supported by the most dominant O-line in the league.
But none of that would have even been possible had it not been for the huge step forward that the Bills running game has taken. Offensive Coordinator Joe Brady first took over as Interim OC after his predecessor (He who shall not be named, smasher of AV equipment, offender of nerds everywhere) was fired on November 13, 2023. 2 short weeks later, the Bills exploded in a 31-10 win over the then-hot Dallas Cowboys. What stood out from that game, is that the Bills only had 91 passing yards, but had a massive 266 yards of rushing, including a whopping 179 yards from James Cook and a little-known back named Ty Johnson emerged as a dual-threat 3rd down running back, chipping in an additional 54. Even Latavius Murray got in on the action.
Bills Nerds everywhere wondered would this new guy mean a change in philosophy in the Bills in that they might also lose their fastball in the passing game? A week 18 matchup against the Miami Dolphins answered that for everyone as Josh Allen led them to a monstrous 345 yards passing.
But more importantly, the Bills were winning. After Cool Joe took over, the Bills ripped off 5 wins in a row to end the regular season, which would have been 7 in a row had it not been for a heartbreaking 34-37 overtime loss against the Philadelphia Eagles.
The Bills were different now. Under Joe Brady, one rallying cry rose above the rest. Whatever it takes to get the W. There became less focus on what our own identity was, and more of an emphasis on:
“who do we need to be today in order to get the dub. “
If we needed to dominate in the air, we’d air it out. As we’ll see today, if we needed to be a big, bruising, bashing, smashing, run it down your throat team, we would put it into the game plan.
And for the first time in a long time, we could actually do it.
Today we continue our reflection of last season by examining the running game of the 2024 Buffalo Bills. Offensive Coordinator Joe Brady continued putting his stamp on this offense by emphasizing balance in play calling and game plan. No longer is Josh Allen going to have to be counted on to throw 25+ times per game. Instead this modern offense ebbs and flows, taking advantage of youthful hunger, a dominant offensive line, and the superb coaching of O-line coach Aaron Kromer.
This blog series will take us through the following progression:
- Identify Who We Were
- Passing Game
- Running Game <—- We are Here
- Defense
- Special Teams
- Discover our Needs
- Spring Cleaning (Roster Moves)
- Retooling (Free Agency Prediction)
- Investing for the Future (Draft Prep)
- Coaching Adjustments
The Key Statistics
- Rushing Attempts per Game – 30.2 – Ranked 7th
- Rushing Yards per Game – 136.7 – Ranked 9th
- Rushing First Downs per Game – 8.8 – Ranked 3rd
- Yards per Rush Attempt – 4.5 – Ranked 11th
- Rushing Touchdowns per Game – 1.9 – Ranked T-1st (With Philadelphia)

James Cook – The Workhorse
James Cook led the way, continuing his breakout under Joe Brady. He transformed his game from a stretch outside zone running back, to dashing through big holes in the middle of the O-line, and lowering his shoulder, keeping his feet driving through every play. Earlier in his career, he seemed to be more tentative, relying on his skills catching out of the backfield to make the biggest impact. Playing in only 16 games, Cook served up a hot plate of statistics including:
- 1009 rushing yards
- 207 attempts
- 16 rushing TDs
- 48 1st downs gained on the ground
- 4.9 yards per rushing attempt
- 32 catches on 38 targets
- 258 yards through the air
- Another 14 1st downs picked up through the air
- 2 receiving touchdowns
James Cook was 23 during his 1st season in the NFL, so for him to have this big of a season in his age 25 3rd season in the league. Think of it like this, he had 30% of the total touches in this offense (receptions and rushes combined). He accounted for 21% of the Scrimmage yards. He had the 3rd most receptions, receivers included, with his 32 receptions representing 10% of all the completions Josh Allen threw all year.
Of course, he didn’t do it alone. The Offensive Line under Aaron Kromer contributed to the new-look rushing offense immensely. They ran it right and left equally. 39% they ran through a guards’ gap, 32% ran through a tackle’s gap, and 28% of the time around the end of the line. His 0.82 Rush yards over expected per rush tells is that for every rush he had, you could expect him to get about an extra yard than the offensive line made for him. That put him at 8th in the league among runners who had a minimum of 100 attempts.
That’s called being a dog.
The other names ahead of him. Derrick Henry, Saquads Barkley, early season monster Jordan Mason, Chuba Hubbard, Jerome Ford, Bucky Irving, Jahmyr Gibbs. James Cook followed the O-line’s lead, created for himself, and ground out the tough yards with the best in the league, time and time again.
With next year being the final year in James Cook’s rookie deal, the potential is there for him to want a big payday (he recently posted on social media that he would seek 15 million dollars a year avg), and any time those conditions exist, the looming threat of a holdout or hold-in also exists. Brandon Beane has been creative and good at taking care of contract extensions, but with a stand-out rookie present on the roster that we’ll discuss later in this post, there is also a chance the Bills could trade James Cook or more likely to hit free agency (look for that discussion in our Spring Cleaning article).

Josh Allen – The Dual-Threat
The second-most productive rusher on the team, for the fourth consecutive year (the last time Josh Allen wasn’t second in Rushing, the top back was Devin Singletary and the 2nd was Zack Moss, Allen finished third only 60 yards behind Moss), Josh Allen crowned his MVP season adding rushing number to his passing stats.
- 531 rushing yards
- 102 attempts
- 12 rushing TDs
- 52 1st downs gained on the ground (Can anyone say Schnowplow?)
- 5.2 yards per rushing attempt
- 1 catches on 1 targets
- 7 yards through the air
- 1 receiving touchdowns
Allen showed off his versatility yet again, bullying his way through linebackers and DBs on his way usually to 1st downs or TDs. 64 out of his 102 rushing attempts ended up with either a 1st down or a touchdown. When Big Play Josh decided to tuck it and run, he was a problem for opposing defenses. Unfortunately, Josh’s rushing can also cause problems of its own. When Josh ran in his first TD of the season in the week 1 matchup against the Arizona Cardinals, he went airborne, contacting two defenders in the air on his way into the endzone (Poor Buddha Baker… he didn’t deserve that), he also broke his non-throwing wrist. A supportive glove/splint allowed him to continue his streak of games started (currently running at 114, the next closest is Jared Goff at 51). Later in the season, he would take a shot while rushing that caused numbness to shoot through his arm, though he would play the ret of the game This isn’t the first year either, having played through a turf toe injury in 2021 and a concussion in 2019.
But what makes Josh risky is also what makes him electric. His penchant for big rushes in big situations is part of what makes him so hard to defend and is likely what tipped the scales for AP voters leading him to his first NFL MVP award. In his age 28 season, Josh has settled into his own game, and picks and chooses his spots, but when his team needs the 1st down or the TD, Josh is more than willing to use his legs to lead this team.
Believe it or not, Josh’s rushing was actually down from past seasons, likely due to Joe Brady successfully giving him more answers and more time in the pocket. His 102 carries is a slight dip from 111 in 2023, 124 in 2022, and 122 in 2021. This is in no way, shape, or form, a bad thing. Josh having more answers handing the ball off or through the air can only be a good thing for this offense.

Ray Davis – The Spark
Rookie running back Ray Davis stood out early and often as a great change of pace to James Cook, though the pace didn’t change all that much. Ray Davis brought explosion and speed, and it seemed like when he entered the game, the Offense didn’t need to change schemes to suit. He operated in very much the same manner as James Cook, with a similar rushing style to boot. Interestingly, Ray Davis will enter his sophomore season, only 2 months younger than James Cook, because of the new eligibility rules in the NCAA. He was a pleasant surprise for the Bills, emerging as a capable backup in a year where the opportunity was wide open.
- 442 rushing yards
- 3 rushing TDs
- 25 1st downs gained on the ground
- 3.9 yards per rushing attempt
- 17 catches on 19 targets
- 189 yards through the air
- 3 receiving touchdowns
- An additional 8 1st downs gained through the air
- 631 Scrimmage Yards, good for 3rd on the team
Now, nobody will argue that James Cook is the lead dog on the team, but in Cook’s rookie season his stat line was 507 yards on 89 attempts and 180 yards receiving, for a total of 687 total scrimmage yards. As rookie seasons go, Ray Davis performed remarkably similarly to James Cook in his first season in the NFL. What allowed Cook to have an opportunity to develop as a lead running back? Motor Singletary finished his final year on his rookie contract and was allowed to test free agency.
In fact, the presence of Ray Davis may actually be an inhibitive factor to the possibility of James Cook looking to hold out. If Ray Davis could fill in capably as a lead-back, James Cook may want to hold onto his spot in line and keep the Bills comfortable with the idea of Ray filling the role of backup.

Ty Johnson – The Third and Long Back
27-year old Vet Ty Johnson carved out quite a nice role as a third-and-long running back. Ty is an elite pass blocker and an effective scat back, though his running between the tackles looked very capable as well.
- 213 rushing yards
- 41 attempts
- 1 rushing TDs
- 13 1st downs gained on the ground
- 5.2 yards per rushing attempt
- 18 catches on 25 targets
- 284 yards through the air
- 3 receiving touchdowns
- 497 Scrimmage yards
Ty Johnson emerges into his age 28 season as a Unrestricted Free Agent, coming off his second most productive year in the NFL. He is a trusted and valued presence because of his intangibles as a pass blocker and a good locker room guy. His willingness to play on special teams may add just enough value for Brandon Beane to give him a bump to rejoin the Bills in 2025.
Can the Rushing Game improve?
Certainly, this was a record-setting year for the Buffalo Bills rushing game. Offensive Coordinator Joe Brady seems to have tuned this team in incredibly well, from run blocking schemes, to player styles, the players believe in this running game and take a lot of pride in its success. With James Cook, Ray Davis, and all 5 starting offensive linemen returning, it seems likely that the running game will keep right on chugging, powering this team to continued success in 2025.
Statistics and financial information sourced from the following:
pro-football-reference.com, teamrankings.com, overthecap.com, spotrac.com, mockdraftable.com , draftsharks.com
2 thoughts on “How Joe Brady Transformed the Buffalo Bills’ 2024 Rushing Attack”