Detroit, Mich. (WGR 550) - The Buffalo Bills left the "Motor City" on Thursday victorious for the second time in less than a week. This time, it was a 28-25 win over the Detroit Lions on Thanksgiving Day.

So, again, let’s start with the Arrows Up:

ARROW UP:
Gutting out the win
The Bills deserve a lot of credit for gutting out a win given the circumstances.
They were already without linebacker Tremaine Edmunds, defensive end A.J. Epenesa, defensive end Greg Rousseau, and center Mitch Morse. Then, during the game, they lost star edge rusher Von Miller and left tackle Dion Dawkins. Not to mention, the disruption of last week’s game and playing on a short week, as well as quarterback Josh Allen still dealing with an elbow injury.
Yet, they still found a way to win the game in the end.
Tre’Davious White back
It was a great site for Bills fans to see the Bills veteran cornerback on the field. He started the game and played two series.
It was White’s first action since tearing his ACL on Thanksgiving night last year in New Orleans, 364 days ago.
DT - Ed Oliver
From the second quarter on, Oliver started taking over the game from his defensive tackle position.
This included a sack of Lions quarterback Jared Goff in the end zone for a safety, as well as forcing a fumble and recovering it on the same play.
Oliver also finished the game with six total tackles, including two for loss, and two quarterback hurries.
LB - A.J. Klein
Klein stepped in for the injured Edmunds and did an excellent job, totaling nine tackles, including one for a loss, as well as a terrific open field tackle on running back D’Andre Swift that was critical on the Lions' final drive.
DT - DaQuan Jones
Jones filled the stat sheet with six total tackles, including one for a loss, a sack, and two quarterback hurries.
Run defense
For the second week in-a-row, the Bills faced a very good run team and, again, did a nice job on them. The Lions were held to just 96 yards on 28 carries, an average of 3.4 yards a run.
Josh Allen’s fourth quarter
The Bills trailed 22-19 when Allen and the offense got the ball with 13:47 remaining. From that point, Allen went 10-for-14 for 90 yards and a touchdown passing, plus added 37 yards rushing (7.4 yards a carry) for 127 total yards in just that quarter.
Allen also led a game-winning drive when he got the ball back with just 23 seconds remaining in a tied game.
RB - Devin Singletary
It wasn’t incredibly flashy, but Singletary had another very efficient day, carrying the ball 14 times for 72 yards, averaging 5.1 yards a carry.
He added eight yards receiving for an 80-yard day.
WR - Stefon Diggs
The day didn’t start off well for Diggs. At one point, he was targeted 10 times but only caught three passes.
However, he caught his next five targets, including the critical 36-yard strike that put the offense in field goal range to win the game.
Diggs finished the game with eight catches for 77 yards and a touchdown.
WR - Isaiah McKenzie
McKenzie had a 103-yard day, including 96 receiving yards on six catches, and another seven yards rushing. He caught the first Bills touchdown of the afternoon.
P - Sam Martin
Martin got more work than he usually does, punting the ball four times on Thursday. Half of those pinned the Lions inside their 20-yard line, including one that was a 56-yard boot.
Tyler Bass’ game-winner
Bass drilled the game-winning field goal from 45 yards away with just two seconds remaining.
Third down offense
The Bills converted seven of their 12 third down attempts (58.3%).
Red zone offense
The Bills were inside the Lions' 20-yard line four times and came away with three touchdowns. A nice 75% conversion rate for a team that has struggled in that area.
Turning a turnover into a touchdown
With the score tied at 7-7 and the Lions driving, Oliver forced and recovered a fumble at the Bills’ 42-yard line. Buffalo scored a touchdown 10 plays later for a huge swing.

ARROW DOWN:
Josh Allen/Passing offense
The passing offense was completely out of sync for much of the game.
It showed on the very first play when Allen and Diggs had miscommunication, then happened on the exact same type of play and route in the fourth quarter. Allen also threw a pass to no-man's land, because it appeared he thought James Cook was going to be there.
Allen finished just 24-for-42 (57.1%) for 253 yards, two touchdowns, and an interception.
Pass protection
It has to be noted that the Bills were without starting center Mitch Morse for the entire game, then lost starting left tackle Dion Dawkins for most of the second half.
However, Allen was under pressure constantly, especially after Dawkins went out. He was sacked three times, and the Lions were credited with eight quarterback hurries.
RT - Spencer Brown
Brown had a tough day pass blocking and was beaten too often for pressures getting to Allen.
CB - Dane Jackson
Jackson was picked on a bunch. It seemed like whenever the Lions needed a play in the passing game, they went Jackson’s way, and too often had success.
Defending Amon-Ra St. Brown
Once again, an opponent’s No. 1 receiver had a terrific day against the Bills. This time, it was St. Brown, who finished with nine catches for 122 yards and a touchdown.
Penalty to extend opening drive
After both teams went three-and-out to start the game, the Lions faced a 3rd-and-6 from their own 43-yard line. It was another great chance for the Bills to force them off the field early, but Boogie Basham went offsides, creating a 3rd-and-1.
Detroit converted that, and eventually went down the field to score a touchdown.
Shotgun snaps
With Morse out, obviously things weren’t going to be perfect. However, early in the game, several shotgun snaps were off target from backup center Ryan Bates to Allen, which definitely threw off the timing of certain plays.
Defending screen passes
For the second week in-a-row, the Bills got beat on several screen passes that went for critical yardage for Detroit.
End of first half clock management
The Bills had a nice drive going to end the first half and had two timeouts remaining. After two plays that gained 12 yards and took the ball from the Lions' 48-yard line to their 36, head coach Sean McDermott didn’t use one of those timeouts, allowing 48 seconds to roll off the clock.
The Bills ultimately kicked a field goal on fourth down to end the half, but still left a timeout in their back pocket when they did it.
Interception in red zone
The one time the Bills did not score while in the Lions' red zone came in the third quarter when they had a 1st-and-goal from the Detroit 10-yard line. Allen faked a handoff and tried to throw a ball to Diggs, but it was batted into the air and ultimately intercepted.
Red zone turnovers have been an issue with the Bills the last several weeks, and it reared its ugly head again on that play.
Punt return allowed
With the Bills leading 19-14 with 1:12 left in the third quarter, they punted from their own 20-yard line. It was a good punt, but Lions returner Kalif Raymond was able to dodge a couple of tacklers then get down the right sideline for a gain of 41 yards.
That return flipped the field position back to the Bills' 35-yard line and put Detroit in position for a go-ahead touchdown.

Follow me on Twitter: @SalSports