Buffalo Bills vs Texans Match Player Stats
The buffalo bills vs texans match player stats from November 21, 2025, tell the story of a close game that Houston won 23-19. The final score was only four points apart, but the underlying numbers reveal several important reasons why the Texans came out ahead. Buffalo produced a strong rushing performance through James Cook III, Josh Allen moved the ball for 253 passing yards, and Ray Davis delivered an explosive kick return touchdown. Houston, however, created the decisive defensive advantage with eight sacks, 12 quarterback hits, and two interceptions from Calen Bullock. On offense, Davis Mills protected the football while throwing two touchdown passes, including scoring contributions from Christian Kirk and Jayden Higgins.
This matchup is a useful example of why a box score should be studied beyond the final score. Buffalo actually gained 396 total yards compared with Houston’s 261, yet the Bills still lost. That difference makes the game particularly interesting for anyone studying buffalo bills vs texans match player stats. Yardage alone did not determine the result. Turnovers, pressure, red-zone execution, field position, and special teams all mattered.
The game also showed how individual performances can have different levels of impact. James Cook’s 116 rushing yards were impressive, while Khalil Shakir recorded 110 receiving yards. Yet Houston’s defense repeatedly disrupted Josh Allen and created extra possessions. Calen Bullock’s two interceptions were especially important because Buffalo did not record an interception of its own.
For readers comparing player performances, this article breaks down the major offensive, defensive, and special teams numbers from the November 21 matchup and explains what those statistics actually meant on the field.
Buffalo Bills vs Texans Match Player Stats: Game Overview
The Houston Texans defeated the Buffalo Bills 23-19 on November 21, 2025. Buffalo entered the game with a 7-4 record, including a 2-3 mark on the road. Houston entered at 6-5 and had been particularly effective at home, carrying a 4-2 home record.
The scoring pattern was important.
| Team | Q1 | Q2 | Q3 | Q4 | Final |
| Buffalo Bills | 6 | 10 | 0 | 3 | 19 |
| Houston Texans | 3 | 17 | 3 | 0 | 23 |
Buffalo led the scoring battle in the first quarter by three points, then added 10 more in the second. Houston responded with a 17-point second quarter, creating a lead that Buffalo could not completely erase.
The third quarter was another turning point. Houston added three points while Buffalo was shut out. Although Buffalo scored three points in the fourth quarter, the Texans’ defensive pressure prevented the Bills from producing the touchdown they needed.
The final score therefore hides an important pattern. Houston did not dominate total offense, but it won enough high-value situations to protect its lead.
Josh Allen’s Passing Performance
Josh Allen finished with 24 completions on 34 attempts for 253 yards. His average was 7.4 yards per attempt, which shows that Buffalo was capable of producing efficient passing plays when the protection held.
However, the most important numbers were the two interceptions and eight sacks for 70 yards.
Allen’s statistical line was:
| Statistic | Josh Allen |
| Completions | 24 |
| Attempts | 34 |
| Completion Rate | 70.6% |
| Passing Yards | 253 |
| Average | 7.4 |
| Passing TDs | 0 |
| Interceptions | 2 |
| Sacks | 8 |
| Sack Yards Lost | 70 |
| QBR | 28.8 |
| Passer Rating | 67.4 |
The 70.6% completion rate looks strong at first glance. The problem was what happened around those completions.
Eight sacks are a major negative in any NFL game, particularly when they cost 70 yards. Houston’s pass rush consistently put Buffalo behind schedule and reduced the value of several successful offensive sequences.
Allen also failed to throw a touchdown and was intercepted twice. That combination is significant because Buffalo needed to convert its drives into touchdowns rather than settling for smaller scoring opportunities.
His 253 passing yards were not enough to overcome the turnovers and sacks.
From an analytical perspective, Allen’s performance is a good example of why completion percentage should never be viewed in isolation. A quarterback can complete more than 70% of his passes and still have a difficult game if pressure, turnovers, and scoring efficiency work against him.
Davis Mills’ Efficient Performance for Houston
Davis Mills completed 16 of 30 passes for 153 yards and two touchdowns. He did not throw an interception and was not sacked.
His statistical line was:
| Statistic | Davis Mills |
| Completions | 16 |
| Attempts | 30 |
| Completion Rate | 53.3% |
| Passing Yards | 153 |
| Average | 5.1 |
| Passing TDs | 2 |
| Interceptions | 0 |
| Sacks | 0 |
| QBR | 27.1 |
| Passer Rating | 90.0 |
Mills’ 153 passing yards were substantially lower than Allen’s 253. Yet his two touchdown passes and zero interceptions were more valuable in the context of the final result.
This is one of the clearest lessons from the game.
The quarterback with more passing yards did not win.
Allen threw for 100 more yards, but Mills produced two passing touchdowns without turning the ball over. Houston also avoided losing sack yardage, while Buffalo surrendered 70 yards through sacks.
Mills therefore benefited from a more controlled passing environment. Houston did not need him to produce a huge volume of yardage. The offense needed him to protect the football and capitalize when scoring opportunities appeared.
James Cook III Leads Buffalo on the Ground
James Cook III was one of Buffalo’s strongest individual performers.
He carried the ball 17 times for 116 yards, averaging 6.8 yards per carry. His longest run went for 45 yards, and he scored one rushing touchdown.
| Statistic | James Cook III |
| Carries | 17 |
| Rushing Yards | 116 |
| Average | 6.8 |
| Rushing TDs | 1 |
| Longest Run | 45 yards |
Cook’s 116 yards represented most of Buffalo’s rushing production.
The Bills finished with 24 rushing attempts for 143 yards, an average of 6.0 yards per carry. That is a productive rushing performance by almost any standard.
The interesting part is that Buffalo’s rushing efficiency did not translate into a win.
This demonstrates the difference between moving the ball and finishing drives. Buffalo could generate explosive rushing plays, but Houston’s defense created enough disruption in the passing game to offset that advantage.
Cook’s 45-yard run was particularly important because it provided Buffalo with a major chunk of yardage. Still, explosive plays need to be combined with consistent drive execution to determine the final outcome.
Woody Marks Leads Houston’s Rushing Attack
Woody Marks carried the ball 16 times for 74 yards. He averaged 4.6 yards per attempt and had a longest run of 19 yards.
| Statistic | Woody Marks |
| Carries | 16 |
| Rushing Yards | 74 |
| Average | 4.6 |
| Rushing TDs | 0 |
| Longest Run | 19 yards |
Houston finished with 26 rushing attempts for 108 yards, averaging 4.2 yards per carry.
That production was less explosive than Buffalo’s rushing attack. The Texans did not have a 100-yard rusher, and they did not score a rushing touchdown.
Yet Houston’s rushing attack helped keep the offense balanced. The Texans did not need to depend entirely on Mills’ arm, and their 26 rushing attempts helped create a more controlled offensive approach.
The contrast between the two teams is revealing. Buffalo had the more productive rushing numbers, but Houston combined adequate rushing production with better turnover control and a much stronger defensive performance.
Khalil Shakir Was Buffalo’s Leading Receiver
Khalil Shakir produced the biggest receiving performance for Buffalo.
He caught eight passes for 110 yards on 10 targets. His average was 13.8 yards per reception, and his longest reception went for 44 yards.
| Statistic | Khalil Shakir |
| Receptions | 8 |
| Targets | 10 |
| Receiving Yards | 110 |
| Average | 13.8 |
| Receiving TDs | 0 |
| Longest Reception | 44 yards |
Shakir accounted for a substantial portion of Buffalo’s passing production. His 110 receiving yards were nearly half of the team’s 253 passing yards.
His performance shows that Buffalo’s passing offense was not completely ineffective. There were productive individual plays and sustained receiving production.
The missing element was the touchdown.
Shakir finished with 110 yards but no receiving score. Allen also threw no touchdown passes. Buffalo therefore had to rely on its rushing touchdown and field goals for its scoring output.
Shakir also recorded one fumble, which was lost. That turnover added another negative event to Buffalo’s overall ball-security profile.
Nico Collins Provides Houston’s Top Receiving Yardage
Nico Collins led Houston in receiving yards with three receptions for 55 yards.
He averaged 18.3 yards per reception and produced a 24-yard long reception on three targets.
| Statistic | Nico Collins |
| Receptions | 3 |
| Targets | 3 |
| Receiving Yards | 55 |
| Average | 18.3 |
| Receiving TDs | 0 |
| Longest Reception | 24 yards |
Collins’ 55 yards were fewer than Shakir’s 110, but his average of 18.3 yards per reception shows the Texans were able to generate meaningful gains from limited opportunities.
The Houston receiving group as a whole finished with 16 receptions for 153 yards and two touchdowns.
That total production was enough because Houston converted its receiving opportunities into touchdowns more effectively than Buffalo did.
Christian Kirk and Jayden Higgins Score Receiving Touchdowns
Christian Kirk caught five passes for 54 yards and scored one touchdown.
He finished with six targets and averaged 10.8 yards per reception. His longest reception was 33 yards.
Jayden Higgins also found the end zone. He caught four passes for 38 yards on nine targets, averaging 9.5 yards per reception. His longest reception was 16 yards.
Their combined touchdown production was critical.
| Player | Rec. | Yards | Avg. | TDs | Long | Targets |
| Christian Kirk | 5 | 54 | 10.8 | 1 | 33 | 6 |
| Jayden Higgins | 4 | 38 | 9.5 | 1 | 16 | 9 |
Houston’s passing game did not generate a huge number of yards, but it produced two passing touchdowns.
That efficiency was one of the biggest statistical differences between the teams.
Houston’s Defense Created the Defining Advantage
The defensive numbers are arguably the most important part of the entire box score.
Houston recorded:
- 74 total tackles
- 46 solo tackles
- 8 sacks
- 11 tackles for loss
- 5 passes defended
- 12 quarterback hits
- 2 interceptions
Buffalo’s defense recorded:
- 62 total tackles
- 29 solo tackles
- 0 sacks
- 3 tackles for loss
- 5 passes defended
- 4 quarterback hits
- 0 interceptions
The difference is dramatic.
Houston generated eight sacks compared with zero from Buffalo. The Texans also produced three times as many tackles for loss and three times as many quarterback hits.
Those numbers explain how Houston won despite producing only 261 total yards.
The defense repeatedly disrupted Buffalo’s offensive rhythm. Eight sacks alone resulted in 70 yards lost, meaning the Texans were not merely pressuring Allen. They were turning that pressure into substantial negative yardage.
For anyone analyzing the buffalo bills vs texans match player stats, this is arguably the most important statistical area to study.
Calen Bullock’s Two Interceptions
Calen Bullock intercepted Josh Allen twice and returned the interceptions for a combined 29 yards.
| Statistic | Calen Bullock |
| Interceptions | 2 |
| Return Yards | 29 |
| Defensive TDs | 0 |
Buffalo did not intercept Mills.
That creates a two-turnover differential in Houston’s favor.
Turnovers are particularly important in a close game because they can change both possession and field position. In this matchup, Buffalo also lost a fumble through Khalil Shakir, making ball security an even more important part of the final result.
Bullock’s interceptions were therefore more than individual defensive statistics. They represented lost opportunities for Buffalo and additional opportunities for Houston.
Buffalo’s Special Teams Produced an Explosive Moment
Ray Davis had one of Buffalo’s most explosive plays of the game on special teams.
He returned three kickoffs for 145 yards, averaging 48.3 yards per return. His longest return went 97 yards and resulted in a touchdown.
| Statistic | Ray Davis |
| Kick Returns | 3 |
| Return Yards | 145 |
| Average | 48.3 |
| Longest Return | 97 |
| Return TDs | 1 |
A 97-yard kickoff return touchdown is a major field-position play and can dramatically influence a game.
It was one of the reasons Buffalo remained competitive despite Houston’s defensive pressure.
Khalil Shakir also returned four punts for 15 yards, averaging 3.8 yards per return.
Houston’s Jaylin Noel returned four kickoffs for 96 yards, averaging 24.0 yards per return. His longest return was 38 yards. Tremon Smith added one return for 20 yards.
Houston recorded no punt returns.
The Kicking Battle
Matt Prater was perfect on field goals, making both attempts. His longest field goal was 44 yards. He made one of two extra-point attempts and finished with seven points.
Ka’imi Fairbairn was also perfect on field goals, making three of three. His longest was 43 yards. He made both extra-point attempts and finished with 11 points.
| Kicker | FG | FG % | Long | XP | Points |
| Matt Prater | 2/2 | 100% | 44 | 1/2 | 7 |
| Ka’imi Fairbairn | 3/3 | 100% | 43 | 2/2 | 11 |
Fairbairn’s 11 points were four more than Prater’s seven.
The difference was not caused by missed field goals. Both kickers were perfect on field-goal attempts. Instead, Houston generated enough scoring opportunities to attempt three field goals and two extra points.
That distinction matters when evaluating kicker performance. A kicker’s scoring total is partly a reflection of offensive opportunities.
The Punting Numbers
Mitch Wishnowsky punted three times for Buffalo for 136 yards, averaging 45.3 yards per punt. His longest punt traveled 48 yards.
Tommy Townsend punted six times for Houston for 286 yards, averaging 47.7 yards. His longest punt was 57 yards, and four of his punts went inside the 20-yard line.
| Punter | Punts | Yards | Average | Long | Inside 20 |
| Mitch Wishnowsky | 3 | 136 | 45.3 | 48 | Not provided |
| Tommy Townsend | 6 | 286 | 47.7 | 57 | 4 |
Townsend’s four punts inside the 20 were particularly useful because they helped Houston manage field position.
The higher number of Houston punts also reflects the Texans’ lower offensive yardage. However, the quality of those punts helped limit Buffalo’s field-position advantage.
Total Offensive Comparison
The overall offensive numbers make the final result look surprising.
| Category | Buffalo | Houston |
| Passing Yards | 253 | 153 |
| Rushing Yards | 143 | 108 |
| Total Offensive Yards | 396 | 261 |
| Rushing Attempts | 24 | 26 |
| Passing TDs | 0 | 2 |
| Interceptions Thrown | 2 | 0 |
Buffalo gained 135 more total yards.
That is a substantial advantage.
Yet Houston won.
The reason is that offensive yardage is only one part of winning football. Houston had the superior turnover profile and defensive disruption. The Texans also scored two passing touchdowns while Buffalo scored none through the air.
This game is a strong reminder that efficiency and situational execution can matter more than raw yardage.
Why Buffalo Lost Despite Gaining More Yards
There are several clear statistical explanations.
1. Buffalo surrendered eight sacks
The Bills allowed eight sacks for 70 yards. Houston’s defense created constant negative plays.
2. Buffalo threw two interceptions
Calen Bullock intercepted Allen twice. Houston did not throw an interception.
3. Buffalo lost a fumble
Khalil Shakir recorded a lost fumble, adding another turnover to Buffalo’s problems.
4. Houston scored two passing touchdowns
Mills threw two touchdown passes. Allen threw none.
5. Houston controlled defensive pressure
The Texans had 12 quarterback hits and 11 tackles for loss, compared with four quarterback hits and three tackles for loss by Buffalo.
These factors explain why total yardage did not determine the winner.
A Deeper Look at Efficiency
The most useful way to understand this game is to separate volume from efficiency.
Buffalo produced more passing yards, more rushing yards, and more total yards. Those numbers demonstrate that the Bills were capable of moving the football.
But Houston was better at turning key moments into outcomes.
For example, Mills’ 153 passing yards were modest compared with Allen’s 253. However, Mills produced two touchdowns and zero interceptions.
Allen’s 253 yards came with two interceptions and eight sacks.
That difference represents the core of the game.
A quarterback’s passing total should therefore be evaluated alongside turnovers, sacks, touchdowns, and scoring opportunities. Looking at one statistic without the others can produce a misleading conclusion.
What the Game Says About Buffalo’s Offensive Performance
Buffalo’s offensive numbers were not uniformly poor.
James Cook ran for 116 yards at 6.8 yards per carry. Shakir caught eight passes for 110 yards. Allen completed 24 passes for 253 yards.
Those are meaningful individual performances.
The problem was the overall combination of pressure and turnovers.
Buffalo’s offense repeatedly created yardage but struggled to convert that production into enough points. The Bills finished with 19 points, while Houston reached 23 despite producing considerably fewer yards.
The offensive line and pass protection were particularly important areas in the statistical story because eight sacks dramatically reduced the value of Buffalo’s successful passing plays.
What the Game Says About Houston’s Defensive Performance
Houston’s defense deserves much of the credit for the win.
Eight sacks against a quarterback of Allen’s caliber are a major achievement. Twelve quarterback hits indicate that the pressure was not limited to isolated plays.
The Texans also intercepted Allen twice.
The defense did not need to shut down Buffalo completely. Instead, it needed to create enough negative plays and turnovers to prevent Buffalo’s superior yardage production from becoming a winning score.
That is exactly what happened.
What the Game Says About Houston’s Offense
Houston’s offense was efficient rather than explosive.
The Texans finished with 261 total yards. Their passing attack generated 153 yards, while their rushing game added 108.
Nico Collins produced 55 receiving yards. Christian Kirk and Jayden Higgins provided the touchdowns. Mills avoided turnovers and sacks.
The offense therefore complemented the defense effectively.
It did not need to produce 400 yards. It needed to avoid giving Buffalo additional opportunities and convert its scoring chances.
Key Player Takeaways
Several individual performances stand out from the box score.
James Cook III
Cook was Buffalo’s most productive rusher with 116 yards and a touchdown. His 6.8 yards per carry demonstrated strong efficiency.
Khalil Shakir
Shakir led Buffalo with 110 receiving yards and eight receptions. He was a major part of the passing attack, although his lost fumble was costly.
Josh Allen
Allen produced 253 yards and completed 24 passes, but two interceptions and eight sacks made his overall performance difficult to translate into points.
Davis Mills
Mills threw for only 153 yards, but his two touchdowns and zero interceptions helped Houston win the game.
Christian Kirk
Kirk caught five passes for 54 yards and scored one touchdown.
Jayden Higgins
Higgins caught four passes for 38 yards and scored one touchdown.
Calen Bullock
Bullock’s two interceptions were among the game’s most important defensive statistics.
Ray Davis
Davis provided Buffalo with a 97-yard kickoff return touchdown and 145 total kickoff return yards.
Ka’imi Fairbairn
Fairbairn converted all three field-goal attempts and both extra points for 11 points.
The Most Important Statistical Mismatch
The biggest mismatch was not Buffalo’s offense against Houston’s offense.
It was Buffalo’s passing game against Houston’s pass rush.
Buffalo gained 253 passing yards, but Houston generated eight sacks and two interceptions. That means the Texans repeatedly made successful Buffalo drives more difficult to sustain.
At the same time, Houston’s offense avoided the most damaging negative plays. Mills was not sacked and did not throw an interception.
This combination gave Houston a major advantage in possession value, even though the Texans had less total yardage.
How to Read This Box Score Correctly
A useful approach to studying buffalo bills vs texans match player stats is to use five layers.
First, examine the final score and quarter-by-quarter scoring.
Second, compare total offensive production.
Third, examine turnovers.
Fourth, study defensive disruption, particularly sacks, tackles for loss, and quarterback hits.
Finally, look at special teams and kicking because close games can be decided by field position and return touchdowns.
Following that sequence prevents one impressive number from dominating the entire analysis.
For example, looking only at total yards would suggest Buffalo should have won.
- Adding turnovers changes the picture.
- Adding sacks changes it again.
- Adding touchdown efficiency explains even more.</p>
Where the Game Was Won
style=”font-weight: 400;”>Houston’s victory can be summarized through four statistical advantages.
Turnover advantage: Houston intercepted Allen twice and did not throw an interception.
Pass-rush advantage: Houston recorded eight sacks and 12 quarterback hits while Buffalo recorded none.
Touchdown efficiency: Houston threw two touchdown passes while Buffalo threw zero.
Field-goal production: Fairbairn made three field goals and all of his extra points.
Buffalo had major strengths of its own, especially rushing efficiency, total yardage, and kick-return production. Those advantages simply were not enough to overcome Houston’s defensive performance and turnover edge.
How These Stats Help When Comparing Players
If you are comparing players for fantasy football, historical analysis, team evaluation, or general NFL research, this game offers several useful lessons.
For quarterbacks, look beyond passing yards. Include touchdowns, interceptions, sacks, and efficiency ratings.
For running backs, consider carries, yards per carry, touchdowns, and explosive runs.
For receivers, compare receptions with targets and yards. A player with fewer catches can still have a major impact if the average gain is high.
For defenders, sacks, quarterback hits, tackles for loss, and interceptions can reveal game-changing contributions that a simple tackle total may not capture.
For special teams players, return yards and long returns can be decisive even when they do not appear in offensive statistics.
Recommended Authoritative Reference
For readers who want to cross-check NFL game information and broader league statistics, the official NFL website is an appropriate authoritative reference.
Frequently Asked Questions
Who won the Buffalo Bills vs Texans game on November 21, 2025?
The Houston Texans defeated the Buffalo Bills 23-19 on November 21, 2025.
Who was Buffalo’s leading passer?
Josh Allen completed 24 of 34 passes for 253 yards. He threw no touchdowns and two interceptions.
Who led Buffalo in rushing?
James Cook III led Buffalo with 17 carries for 116 yards and one touchdown. His longest run was 45 yards.
Who led Buffalo in receiving?
Khalil Shakir led the Bills with eight receptions for 110 yards on 10 targets. He did not score a receiving touchdown.
Who intercepted Josh Allen?
Calen Bullock intercepted Josh Allen twice for a combined 29 return yards.
Why did Houston win despite having fewer total yards?
Houston created a major defensive advantage with eight sacks and two interceptions. The Texans also threw two touchdown passes without committing an interception, while Buffalo surrendered two interceptions and a lost fumble.
Conclusion
The buffalo bills vs texans match player stats from November 21, 2025, show why football games cannot be judged by total yardage alone.
Buffalo produced 396 total yards, including 253 passing yards and 143 rushing yards. James Cook ran for 116 yards, Khalil Shakir recorded 110 receiving yards, and Ray Davis added a 97-yard kickoff return touchdown. Those numbers demonstrate that the Bills had several productive individual performances.
Houston’s advantage came from a different area. The Texans produced eight sacks, 12 quarterback hits, 11 tackles for loss, and two interceptions. Davis Mills threw two touchdown passes without an interception or a sack. Christian Kirk and Jayden Higgins supplied the receiving touchdowns, while Ka’imi Fairbairn converted three field goals.
The final score of 23-19 therefore makes sense when the complete statistical picture is considered.
Buffalo moved the ball more effectively in terms of yardage, but Houston was more effective at disrupting drives and protecting its own possessions. The Texans’ defensive pressure and turnover advantage outweighed Buffalo’s offensive yardage advantage.
For anyone studying this matchup, the biggest lesson is simple: productive statistics are not always winning statistics. The most valuable numbers are often the ones that explain what happened at critical moments. In this game, sacks, interceptions, touchdowns, and field-position plays provided that explanation.