Nobody saw this coming.

A loss? Sure? A blowout loss? Not a chance.

The Buffalo Bills were beaten in every phase of the game Sunday by the Indianapolis Colts, who romped to a 41-15 victory in Orchard Park, generating the worst overall report card of the season.

So here goes:

Quarterback: D

Josh Allen completed 21 of 35 attempts for 209 yards and two touchdowns against two interceptions.

Both interceptions set up short-field touchdowns for the Colts.

Allen doesn't completely fail here only because he held himself accountable afterward.

"It starts with me," he said.

Correct.

Running back: B

Once again, Mattt Breida made the most of his touches (five carries, 51 yards; one catch, 16 yards). So did Devin Singletary (three carries, 17 yards; three catches, 26 yards).

Hard to blame the running backs for what went wrong in this one.

Tight end: C-

Like the running backs, hard to find much fault on paper with this group, led by Dawson Knox, who in this game finished with career-highs in targets (10) and receptions (six) for 80 yards.

On the other hand, he also had three drops.

That a quarter of the Bills' pass attempts were aimed his way shows how far he's come and how much closer he's getting to his first Pro Bowl berth.

Wide receiver: C

Stefon Diggs, Cole Beasley, Emmanuel Sanders and Gabriel Davis combined for 13 catches, 99 yards and two TDs.

Diggs finished with 162 receiving yards by himself the previous week.

Hard to really blame any one player or even the entire position group for the radical shifts from game to game. This is what the Bills' offense is anymore.

Offensive line: C-

Believe it or not, this revamped group held up pretty well without right tackle Spencer Brown (Reserve/COVID-19 list) and left guard Jon Feliciano (injured reserve).

The Bills averaged 7.0 yards on 13 rushing attempts and allowed just one sack of Allen.

However, sack statistics are misleading where Allen is concerned. He's almost impossible to take down unless there's a complete jailbreak. He was affected by pressure in this game.

One more observation: It doesn't look like Daryl Williams, playing right tackle in this game, even tries anymore. Just look at his deplorable effort here:

Williams should be ashamed of himself for his flat-footed, non-effort on a fumble by Allen that his failed block on a rookie caused. And if, he's not, the coaches should keep replaying the above strip sack over and over to make sure the proper dose of humiliation is administered.

And then some.

Defensive line: F

Pushed all over the field by the Colts' superior offensive line in the run game, they were primarily responsible for Indianapolis finishing with 264 rushing yards.

According to Pro Football Focus, the group did record 15 pressures on quarterback Carson Wentz but missed seven tackles on running plays.

Star Lotulelei's vaccination status is not known, but it's a good bet he never received any shots after missing his second straight game while on the Reserve/COVID-19 list. This, after opting out of last season.

They could have used him in this one, too.

Linebacker: D

Matt Milano played pretty well, but can we please just pump the brakes for 10 seconds on all the social-media chatter suggesting A.J. Klein is better than Tremaine Edmunds?

Because he isn't. And after watching this game, it isn't even close.

With Edmunds missing a second straight game due to a hamstring strain, Klein was overmatched, unlike the previous week, when he did well.

Secondary: C

A week after their finest game of the season, they were just OK in this one, although Indy did little damage in the passing game as Wentz finished 11-for-20 for just 106 yards and a touchdown.

But there were takeaways that were there for them that they missed, and all kinds of bad positioning and poor tackling techniques were on display during a 23-yard TD pass to Jonathan Taylor.

This was their worst game of the year.

Special teams: F

Isaiah McKenzie tripped over his own feet, fell and lost a fumble during a kickoff return, leading to an easy score for Indy.

Tyler Bass missed two field goals, the second of which never should have even been attempted.

The kickoff coverage team allowed a 33-yard return by Isaiah Rodgers to start the game and set up a 65-yard touchdown drive that put the Colts up for good.

Coaching: F

This is the first time all season where we can say the Bills never looked prepared for what their opponents threw at their defense.

Making matters worse, they rarely adjusted to the Colts' power running game and stayed in their nickel base most of the time.

Offensive coordinator Brian Daboll's play-calling was OK, but everyone knows by now that when you limit the Bills' explosive plays their offense is below average.

Well, the Colts limited their explosive plays, keeping the wide receivers from getting behind them all day.

Forcing the Bills' offense to beat you with runs and short passes underneath and needing 10 or more plays to reach the end zone is a formula that works just about every time.

Which means it's time for the Bills to adjust.

More must-reads:

TODAY'S BEST
Tiger Woods' son falls short in improbable U.S. Open quest
Lions 'not close' on extension talks with QB Jared Goff
Analyst has shocking update on former three-time MLB Manager of the Year
London mayor eyeing Super Bowl bid, other hosting opportunities for major sporting events if re-elected
Rome Odunze raves about Michael Penix Jr. ahead of draft
Jimmy Butler trolls Celtics after Game 2 win: 'Don't let us get one'
Heat play 'Herro ball' to stun Celtics in Game 2
Lions extension makes Amon-Ra St. Brown the NFL's highest-paid receiver
Brad Marchand gets winner as Bruins beat Leafs to go up 2-1 in series
Reigning Cy Young winner's disastrous 2024 continues
Timberwolves C overcomes long odds, wins Sixth Man of the Year
Watch: Aaron Judge passes Derek Jeter on Yankees all-time home run list
Why it makes sense that the Steelers declined QB Justin Fields' fifth-year option
Heisman Trust's Reggie Bush decision another sign of NCAA's diminishing power
Peyton Manning rips Jets for failing QB Zach Wilson
'Baaaadd man' Shai Gilgeous-Alexander lifts Thunder to commanding Game 2 win
Golden Knights heading home up 2-0 on Stars
Watch: Thunder G Shai Gilgeous-Alexander sets new playoff high
Chargers reportedly targeting this former Jim Harbaugh player in draft
Watch: The Maple Leafs turn up the physicality in Game 3 vs. Bruins

Want more sports news?

Join the hundreds of thousands of fans who start their day with Yardbarker's Morning Bark, the best newsletter in sports.