(by Tony Serafini)
Another battle of the backups here, but a fun game to watch. The Bills trailed most of the game but ended up winning on a late rushing TD and two-point conversion pass. A few player notes of interest. You know it’s a fun game when you have a punter roster spot battle going on. We also saw Buffalo’s 4th round rookie WR Skyler Bell make his preseason debut.
This game took place on Thursday August 27th and I wanted to get this article done before the 53-man roster cuts were made Sunday, but life always seems to happen between the plans we make. I could not help myself, so I did glance at some, not all, of the final 53-man rosters for the Bills and the Steelers while working on this recap. I considered writing this recap as if I had not known about any final cuts and making it seem like I’m a genius when it comes to knowing who the 4th and 5th WRs and third string OTs will be, but I chose the path of honesty, and I will discuss my player notes with you in such a manner.
Player Notes...
-- This was Skyler Bell’s much anticipated preseason debut, and it was a statistically good performance. Pulling in 7 out of 10 targets for 49 yards. It looked like he was being force fed the ball a lot because, who gets 10 targets in a preseason game? He did play well into the 4th quarter and we have to remember that he was playing against a lot of bubble 3rd and 4th stringers so keep that in mind.
He had some screen passes thrown his way and an end around that resulted in a 30yd TD. On the end around, Bell turned up field, displayed his 4.40 speed, and had 1-2 defenders to beat. One of the defenders lost his footing and stumbled and never had a chance to catch Bell. The other defender took a bad angle but even if he took a good one, there is a strong chance that Bell would have been able to still extend for the pylon and get the score. He looked faster than the defenders he faced on this run play. It was a well executed play by the Bills. Blocking was great and everyone but the two aforementioned defenders, had no chance of making a play on Bell. Bell looked fast on this play.
Bell did run some routes through soft zone finding openings and create some separation against man. He had some contested catches where defenders were on his back, and he had to make a tough catch. There was a bad overthrow from Buechele early in the first quarter. Bell ran wide open about 30yds downfield on a crossing route with open endzone in the distance and a defender behind him and, with plenty of time in the pocket, Buechele just threw a terrible pass over Bell’s head and out of outstretched arm’s reach. Bills were at about midfield so if Bell makes that catch, he adds another 50yds to his receiving total and a TD. The same drive, Buechele throws a pass behind Bell around the 20yd line, that Bell catches, but he was again running a crossing route where he had space to the end zone and might have scored if he didn’t have to stop his feet in order to catch the off-target throw. Bell missed out on two TD opportunities on this early drive.
I would like to tell you that one preseason game against 3rd stringers is all I need from Bell to paint a clear picture of his NFL future, but I need more. I need to see Bell against the starters. I need to see if he can make the most of 3-4 targets a game. When Shakir, Moore, Coleman, Kincaid, and Cooks are on the field, does Bell even matter? Will he make a difference? Joe Brady lets everyone eat so what weeks will Bell eat? And can you rely on that volatility in fantasy to keep him in your starting lineup? He most likely needs an injury opportunity or another break to get respect in the receiving rotation.
I counted one dropped pass in this game from Bell. How long will it take Josh to look Bell’s way again after a dropped pass on third down in week 5, when he has so many other reliable receiving options at his disposal?
Bell has some Jayden Reed comparables:
Bell – 5'11”, 192, 4.40
Reed – 5'11”, 187, 4.45
College careers:
Bell – 220/2893/24
Reed – 203/2866/26
Reed started strong in Green Bay but has fallen off the last few seasons. If Bell carves out a role in the Bills offense, it will most likely be through the slot, which means he would have to out play Khalil Shakir in order to take over. I doubt that happens this year, but I see potential in Bell. One of the concerns surrounding Bell is playing against physical CBs. NFL corners are bigger and stronger than the college caliber CBs. Bell will have to prove he can consistently beat the NFL CBs. He needs some regular season reps in order for me to make a better call, I need to see more, but I am hopeful he stays in the BUF offense for a while and makes an impact. Maybe Joe Brady can even figure out a way to get Bell on the field with Shakir and Moore. I believe Bell can be better than Coleman, so if the Bills can get creative and just put their best WRs on the field all the time, Bell should be out there.
-- Shane Buechele records 26/38 196 yards 0/0 and also adds 11 rushing yards on 4 carries.
He had a ton of overthrows and underthrows throughout the preseason, and this game was no different as I plan to mention a few instances in my receiver's notes. He did get the win in this game. The two point conversion pass was possibly his best throw of the game. With pressure in his face, he delivered the ball to an open receiver on an out pattern near the goal line. Not an easy throw, especially with a defender in your face, but it also sort of looked like one of those ‘I’m just going to get rid of this and hope for the best’ throws that ended up being the right one. Nice win for Shane. I am surprised to see him missing from the Bills final roster. Kyle Allen has looked good in preseason and maybe the Bills think Josh and Kyle are all they need this season, or I imagine they try and sign Buechele to their practice squad and know that no one else wants him.
I believe the Bills were doing him a solid just in case someone else was in deep QB need. Giving Buechele the public tryout in the last preseason game. I worry about any NFL team heading into the season with only 2 QBs, especially based on the injuries we have seen so far this preseason, but history has also shown us that a veteran sitting on his couch can come in and get things done any given week. So maybe the Bills have another plan at the QB3 spot that does not involve Buechele.
-- The Buffalo running game was split between Frank Gore Jr. and Ian Wheeler. Gore had 15 total touches, his usage in the receiving game was great, 5 catches for 45yds in addition to 27yds on the ground and a rushing TD. Gore is a capable receiver and decent overall RB, but not as good as a receiver or explosive as Ty Johnson can be. Wheeler looked decent during preseason. Most competing against other fringe roster candidates throughout. Both Gore and Wheeler struggled to get much going on the ground against Pittsburgh, as they both ran behind a makeshift OL, with people in different places and at times, pretty poor run-blocking execution. I cannot see Gore edging out Johnson for a spot, maybe as the 4thRB on the roster, but Wheeler doesn’t make the 53.
-- The Bills OL showed a lot of players getting chances to try different positions. A few tackles playing guard and Bruno Fina even gave center a try. Which is very smart of the Bills. You NEED OL DEPTH to win in the NFL. And having multiple OL that can play multiple positions is HUGE. Fina was an UDFA I scouted, so maybe his versatility at center gives him an edge over some of the other OL depth options. I do not see Chase Lundt making this team. He struggles in pass blocking and let up another sack in this game. During the game it was mentioned that Alec Anderson has won the starting LG job for the Bills and Austin Corbett will remain as interior OL depth. Lloyd Cushenberry also beat out Van Pran-Granger for the backup center job, prompting a trade where Buffalo acquired a 6th round pick for VPG and a 7th.
-- Quick notes...
Trent Sherfield – I did not see much from him this game, but maybe that is indicative of him having a spot already. Or maybe the Bills have seen all they need from him and he will be cut. The Buffalo announcers always seemed to be mentioning his name during preseason, but I just did not see what they were all buzzing about.
Mecole Hardman – He had an early drop in this game that should have been caught. Maybe they hang onto him because of what he brings in the return game, but even his contributions there are minimal. I know they tried Ray Davis at punt returns in this game and he muffed one, but the Bills are just fine if they cut Hardman and throw Davis back there for punt and kick returns.
I scouted Ja’Mori Maclin as a UDFA this year and I thought he looked good in the first two preseason games but did not see much of him this game. He had one catch in the game on two targets. His dropped target was another underthrown ball from Buechele. Maclin had a step or two on the defender and if the ball is thrown well it's about a 30yd TD pass. Same was true for the first preseason game where Maclin had coverage beat a few times, and the throws just were not there. I do not believe Maclin’s preseason efforts were enough to get him a roster spot. I would mark him as a strong practice squad candidate.
Buffalo defensive standouts:
Koenta Jenkins LB – had 5 solo tackles and sacked Howard on the Steelers very first offensive play in this game. He also had a missed tackle on a PIT RB at the line of scrimmage during the third Pittsburgh drive. Maybe the sack gets highlighted more than the tackle miss and Jenkins finds a LB depth spot on the roster.
Damar Hamlin S – he stood in place as Howard and his intended target had a miscommunication and the ball was thrown into his chest. I do not know why people are talking about this guy so much but this INT seemed like more of a PIT mistake than a Hamlin contribution.
Bills TJ Parker seems to have a knack for being around the ball. He had a strong series where he batted down a Howard pass for an incompletion and got a QB hurry and was a step away from a fumble-strip-sack. He has played well for Buffalo this preseason.
And now the most important Bills player note, the punter battle between Tommy Doman Jr. and Mitch Wishnowsky. Doman looks like he has the job secured. Mitch had a 19yd punt on the Bills’ second series that might have sealed his fate. Doman also handled some kickoff duties and had a 55yd punt and another in a good spot to pin the Steelers at their own 10 yard line late in the game. Congrats, you also win the right to hold the ball for Tyler Bass!
The Steelers also had some players in this game.
-- The QB battle between Will Howard and Drew Allar in this game gave me a clear picture of which QB the Steelers should keep.
Howard started the game and played the whole first half and went 9/15 for 69 yards 2TD/1INT. The two touchdowns makes you think like something exciting happened when Howard was on the field, but both came on shortened fields due to muffed and 19yd Buffalo punts. I mentioned the INT earlier as a Pittsburgh mistake because it was just that. Howard throws the ball to the inside as the receiver is making the cut to the outside. Just a classic miscommunication between QB and receiver, but even if the receiver would have cut inside, it looked like the pass would have been thrown behind and it might have still been a pick or best case an incompletion. Howard had a bunch of instances throughout the game where he just held the ball way too long, leading to sacks. Sacks even when he was outside the pocket. He needs to learn how to throw the ball away and save some yardage.
Allar started the second half and went 9/18 for 88 yards 0/0. He seemed to be more animated than Howard and had a fire lit under him to try and make plays. I saw him intelligently run a hurry up play after a 3rd down catch that might have been challenged. Allar just looks more comfortable in the pocket and more confident in his throws. Moved in and out of the pocket smoother and more agile than Howard and made throws on the run or got rid of it when he should have. Allar is the new shiny rookie so he probably gets the roster spot over Howard anyways, but this game showed me that Allar has the slight edge over Howard.
-- Lew Nichols and Eli Heidenreich handled most of the rushing work for Pittsburgh, and both looked like capable depth RBs for the Steelers. I believe the Steelers held the OL vs DL advantage in this game. Pittsburgh’s OL was opening gaps all game. They gained 4yds pretty consistently all game against Buffalo. Nichols averaged 5.7 YPC and Heidenreich 3.9 YPC. It looked like that was the gameplan the Steelers wanted. Somewhat vanilla playcalling with a lot of well-timed running plays for first downs. Steelers OL struggled with pass blocking at times when the Bills ran an overload blitz or Howard hung on too long.
-- The only negative on the PIT OL is from rookie Max Iheanachor. He got beat pretty badly by Andre Jones, who hammered Howard for the sack. He cannot be giving DEs free shots at Old-Man-Rodgers like that during the season. I know Max is a promising rookie, but it seems like he still has work to do if he wants to break the starting lineup.
-- Germie Bernard’s 1 rec for a 13yd TD after making a defender miss, was a nice look at the depth PIT has at WR.
-- Max Hurleman led the team in receiving with 3 rec for 50yds, but I do not think it will be enough for a roster spot.
-- Devon Boykin DB led the team with 9 tackles this game, but it wasn’t enough as I happened to see he did not make the 53-man or the practice squad.
How the Mainstream views it – ChatGPT Top Ten Storylines Developing after Buffalo Bills vs. Pittsburgh Steelers Preseason Game
1. Skyler Bell finally plays — and immediately looks dangerous
This was probably the biggest fantasy-relevant storyline. Bell had missed the first two preseason games with a lower-body injury, so Pittsburgh was his first NFL game action. He responded by leading Buffalo in both receiving and rushing: 7 catches, 49 receiving yards + 1 carry, 28 yards, TD. The touchdown came on a designed jet-sweep/end-around type play, showing that Buffalo wasn't just lining him up and asking him to run routes—they were manufacturing touches for him. For a fourth-round rookie who had barely played during the preseason, the immediate question afterward became: Did Bell just secure his roster spot and potentially carve out a real offensive role? We now know the answer to the first part was yes—Buffalo kept only five WRs, and Bell was one of them.
2. Tommy Doman appeared to win the punter competition
This was one of the clearest roster-battle developments of the night. Mitch Wishnowsky's first punt went just 19 yards. Doman, meanwhile, punted four times for 208 yards—a 52.0-yard average—with two punts pinning Pittsburgh at or inside its 10. Coming out of the game, it looked like the rookie had won the job. And that's exactly what happened: Buffalo released Wishnowsky and kept Doman as its 2026 punter and Tyler Bass's holder.
3. Shane Buechele made a strong final argument — but Kyle Allen still looked like QB2
Buechele played the entire game, which is pretty unusual in today's preseason.
He finished: 26/38, 196 yards, 0 TD, 0 INT. The numbers aren't spectacular, but he protected the football and led Buffalo's late comeback. Down 27–20, Buechele got the ball back with 3:20 remaining and ultimately helped Buffalo score the TD and winning two-point conversion. The developing storyline wasn't necessarily "Buechele wins QB2." It was more:
Buechele demonstrated that he still belonged in the organization.
Kyle Allen had already put himself in the driver's seat for QB2, and Buffalo ultimately kept him while moving on from Buechele at the 53-man cut.
4. Frank Gore Jr. made one last push for the roster
Gore was probably Buffalo's most productive conventional skill player outside Bell:
10 carries, 27 yards, TD, 5 receptions, 45 yards, 15 touches, 72 yards, TD. That's notable because the receiving production demonstrated more versatility than simply being a between-the-tackles runner. But this was always a numbers problem. Buffalo already had James Cook, Ray Davis and Ty Johnson, so Gore needed Buffalo to keep four RBs or force his way onto the roster through special teams/value elsewhere. He didn't. Buffalo eventually released him and kept three RBs.
5. Maxwell Hairston emerged from the preseason as a starting CB
This is a bigger regular-season storyline than anything his statistics from this particular game tell us. Hairston and rookie Davison Igbinosun started and played the first half. More importantly, Buffalo had now identified Hairston as a starting cornerback entering the regular season. Considering Hairston was Buffalo's 2025 first-round pick, this represented a potentially important development for the defense.
6. Buffalo's young/backup secondary performed pretty well
This was somewhat lost behind the offensive storylines. Pittsburgh finished with only 135 passing yards, and Buffalo received encouraging play from several depth DBs. Anthony Kendall and D.J. Miller were among the players receiving positive postgame attention.
There were roster implications here, particularly with Buffalo deciding how many defensive backs to carry.
7. Damar Hamlin reminded Buffalo what he can still provide
Hamlin intercepted Will Howard, giving him a tangible splash play at an important time.
That's significant because Buffalo was making decisions at the bottom of its safety room. Hamlin was competing with players such as Geno Stone for a roster position. Buffalo ultimately kept Hamlin and released Stone. So in retrospect, that interception certainly didn't hurt.
8. Buffalo's pass-rush depth flashed
Despite this being primarily backups and roster-bubble players, Buffalo generated pressure. Among the notable plays:
Keonta Jenkins — 9-yard sack
Phidarian Mathis — 5-yard sack
Andre Jones Jr. — 8-yard sack
The larger takeaway was that Jim Leonhard's defense was getting contributions from well down the depth chart rather than relying exclusively on its established edge players. Buffalo's official highlights specifically featured all three sacks.
9. The comeback itself mattered more than a normal preseason result
Normally I wouldn't make "they won" a major preseason storyline. But this one was different. Buffalo trailed 27–17 in the fourth quarter. Buechele and the bottom of the roster continued battling, the defense produced the necessary stops, and Buffalo eventually scored with Ian Wheeler before going for two rather than settling for overtime.
Buechele hit Dante Pettis for the two-point conversion, giving Buffalo the 28–27 win.
Joe Brady specifically talked afterward about what he learned about his team from the comeback. For players who knew cuts were coming within days, continuing to compete while down 10 in a meaningless preseason game was something the coaching staff valued.
10. Several players played well — but there simply weren't enough roster spots
This was probably the overarching storyline. Gore produced. Buechele played well. Ian Wheeler scored the late TD. Kani Walker had made a legitimate push at CB. Dante Pettis caught the winning conversion. And none of those five ultimately made the 53.
That tells you something about Buffalo's roster situation: this game wasn't really about finding starters. It was about deciding the final few spots on an already fairly established roster.
===========================