LeSean McCoy scored twice and safety Aaron Williams returned a botched field-goal snap 53 yards for a touchdown in leading the Buffalo Bills to a 33-18 win over the Arizona Cardinals on Sunday.
Quarterback Tyrod Taylor also scored on a 20-yard run at a time the Rex Ryan-coached Bills spent the past week taking the brunt of criticism after opening the season 0-2.
The win also came on the heels of Ryan firing offensive co-ordinator Greg Roman and replacing him with running backs coach Anthony Lynn.
McCoy scored on 24- and five-yard runs, and finished with 110 yards rushing after combining for just 117 in his first two games. Taylor had 76 yards rushing, including a 49-yarder, the longest by a quarterback in team history.
Ryan's defence also bounced back after allowing 493 yards in 37-31 loss to the New York Jets on Sept. 15. The Bills limited Arizona to 348 yards and intercepted Carson Palmer on each of Arizona's final four possessions. Stephon Gilmore had two interceptions.
Arizona (1-2) unravelled a week after a 40-7 win over Tampa Bay, and had a five-game road winning streak snapped going back to last season.
The Cardinals combined for just 2 yards net offence and no first downs on their first five possessions. Palmer finished 26 of 50 for 264 yards and was sacked five times.
David Johnson scored on four- and 22-yard runs for Arizona.
The Bills took control in building a 30-7 lead on Williams's fumble return with 2:25 left in the third quarter.
With Chandler Catanzaro lining up to attempt a 32-yard field goal, Kameron Canaday's snap sailed high and through the hands of holder Drew Butler. Catanzaro missed in an attempt to fall on the ball, and the ball squirted loose. Catanzaro missed a last-minute field goal in the opener against New England because of a poor snap.
Trailing 30-16 midway through the fourth quarter, the Cardinals had a golden opportunity slip through their fingers.
Safety Tyrann Mathieu batted down quarterback Tyrod Taylor's backward pitch intended for Robert Woods for a fumble. Mathieu failed twice attempting to scoop up the ball and instead kicked it out of bounds into the Cardinals sideline.
The Bills' defence then secured the victory on Arizona's next possession, when Gilmore intercepted Palmer's pass up the left sideline intended for John Brown. The turnover led to Buffalo putting the game away with Dan Carpenter hitting a 45-yard field goal.