DE Mario Williams finally started paying dividends on the huge contract he received from Buffalo. (US Presswire)

It wasn’t pretty by any means, but the Bills got over the hump with a gritty overtime victory over the Arizona Cardinals in Week 6. After allowing more than 500 yards on defense in back-to-back weeks for the first time in franchise history, it was a turnaround performance from Buffalo's defense that led the way.

Offense: B-

For the first time since his left shoulder injury in Week 3, C.J. Spiller was an explosive game-breaker. Spiller made the most of his limited touches (88 yards and one TD on 12 carries, 7.3 average) and repeatedly juked defenders with ease. He and Fred Jackson split time once again. Ryan Fitzpatrick continues to struggle with his accuracy (18-of-32, 153 yards) but didn’t have any turnovers. Previous game’s grade: D

Defense: B

After getting a failing grade each of the past two weeks, this was quite the improvement for Dave Wannstedt’s beleaguered unit. The Bills finally got the Mario Williams they were hoping for when they signed the DE to a $100 million contract in the spring: Williams was dominant throughout the game and created constant pressure. He had two sacks, and the Bills had five sacks overall. FS Jairus Byrd had two huge INTs late in the game. Previous game’s grade: F

Special teams: B

Rian Lindell connected on his only game-winning attempt (from 25 yards out), so that instantly boosts this grade. The Bills lucked out when Jay Feely missed his potential game-winner, a 38-yard attempt in the final seconds of regulation. One minute before that, Feely blasted a 61-yarder through the uprights to tie the game. It wasn’t all rosy for the Bills on special teams, who allowed a fake punt for a first down. P Shawn Powell had a shank late that led to Feely’s 38-yard attempt. But Lindell came up big when it mattered most. Previous game’s grade: B

Coaching: B-

Wannstedt deserves credit for getting a much-improved performance from his defense. Gailey called a pretty good game on offense, running when possible and using screen passes with Fitzpatrick once again erratic in the pocket -- with one major exception. The Bills attempted a long throw out of the wildcat late in the fourth quarter on a pass thrown by QB/WR Brad Smith; the throw was picked off by Patrick Peterson and nearly sunk the Bills. Had the Bills lost, the play would live in infamy for Bills fans. Previous game’s grade: F

For more updates on the Bills, follow correspondent Mark Ludwiczak on Twitter @CBSBills and @MarkLud12.