ORCHARD PARK, N.Y. — 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.

The win came on the heels of an 0-2 start that led to the firing of offensive coordinator Greg Roman.

McCoy scored on 24- and 5-yard runs, and finished with 110 yards rushing after combining for just 117 in his first two games. Tyrod Taylor had 76 yards rushing, including a 49-yarder – the longest by a quarterback in team history – and a 20-yard touchdown.

A week after allowing 493 yards in a 37-31 loss to the New York Jets, the Bills limited Arizona to 348 yards and closed the game by intercepting Carson Palmer on each of Arizona’s final four possessions.

Arizona (1-2) unraveled a week after a 40-7 win over Tampa Bay and had a five-game road winning streak snapped.

CHIEFS 24, JETS 3: Kansas City (2-1) returned two turnovers for touchdowns, intercepted three passes in the end zone and forced eight turnovers total in a victory over visiting New York (1-2).

Marcus Peters had two interceptions, including the first of four in the fourth quarter off Jets quarterback Ryan Fitzpatrick. Fitzpatrick finished with six interceptions.

WASHINGTON 29, GIANTS 27: Dustin Hopkins kicked a 37-yard field goal – his fifth of the game – late in the fourth quarter, and Washington (1-2) won at East Rutherford, New Jersey.

Kirk Cousins threw touchdown passes of 44 yards to DeSean Jackson and 55 to Jamison Crowder, and Washington handed Ben McAdoo his first loss as coach of the Giants (2-1).

Eli Manning passed for 350 yards for the Giants but was intercepted twice in the fourth quarter.

EAGLES 34, STEELERS 3: Carson Wentz threw for 301 yards and two touchdowns, a fierce defense shut down Ben Roethlisberger and Antonio Brown, and Philadelphia (3-0) beat visiting Pittsburgh (2-1) to remain unbeaten.

Wentz, the No. 2 pick in this year’s draft, connected with Darren Sproles on a 73-yard catch-and-run TD and tossed a 12-yard TD pass to Jordan Matthews.

Kenjon Barner and rookie Wendell Smallwood each had their first career rushing touchdown.

BRONCOS 29, BENGALS 17: Trevor Siemian threw a career-high four touchdown passes in his first road start and was nearly perfect under fourth-quarter pressure, rallying Denver (3-0) at Cincinnati (1-2).

Siemian completed 11 of 12 passes and drove the Broncos to a pair of fourth-quarter touchdowns.

PACKERS 34, LIONS 27: Aaron Rodgers threw for 205 yards and four touchdowns, including two in the first half to Jordy Nelson, and Green Bay (2-1) snapped out of its offensive funk before holding off visiting Detroit (1-2).

Rodgers led the Packers to touchdowns on their first three series. Nelson had 101 yards on six catches, returning to the form that made him one of the NFL’s best receivers before he missed the 2015 season because of a knee injury.

Matthew Stafford passed for 385 yards and three touchdowns for the Lions.

VIKINGS 22, PANTHERS 10: Sam Bradford threw a touchdown pass to Kyle Rudolph, Marcus Sherels returned a punt for a score and Minnesota (3-0) snapped a 14-game home winning streak for Carolina (1-2).

SEAHAWKS 37, 49ERS 18: Russell Wilson threw for 243 yards and a touchdown before suffering a left knee injury, and Seattle (2-1) routed visiting San Francisco (1-2).

COLTS 26, CHARGERS 22: Andrew Luck shook off a sore throwing shoulder, then watched T.Y. Hilton break a tackle on a 63-yard touchdown pass with 1:17 to play, giving Indianapolis (1-2) a victory over visiting San Diego (1-2).

The Colts recovered two fumbles in the final 62 seconds to preserve the win.

Luck finished 24 of 37 for 331 yards.

RAMS 37, BUCCANEERS 32: Case Keenum threw two touchdown passes and Todd Gurley rushed for two more scores for Los Angeles (2-1) in a storm-delayed victory at Tampa Bay (1-2).

The Rams, who did not get into the end zone in their first two games, also scored on Ethan Westbrooks’ 77-yard fumble return before thunder and lightning caused a 69-minute delay with two minutes remaining.

Jameis Winston threw for 405 yards and three TDs for Tampa Bay.

RAVENS 19, JAGUARS 17: Justin Tucker kicked a 54-yard field goal with 1:02 remaining, lifting Baltimore (3-0) to a win at Jacksonville (0-3).

RAIDERS 17, TITANS 10: Derek Carr threw for 249 yards and a touchdown, and Oakland (2-1) forced three turnovers in a win at Tennessee (1-2).

DOLPHINS 30, BROWNS 24: Jay Ajayi scored on an 11-yard run with 8:26 left in overtime, and Miami (1-2) escaped with a win over visiting Cleveland (0-3).

Tannehill threw for 319 yards and three touchdowns.

Cody Parkey missed three field goals for Cleveland, including a 46-yarder as time expired in regulation.