Jalen Hurts threw for three touchdowns and ran for another as Philadelphia beat the Los Angeles Rams 33-26 in a Sunday NFL thriller between unbeatens.

The defending champion Eagles were on the ropes until the final play, when Joshua Karty had a 44-yard field goal attempt to win for the Rams, but Eagles defender Jordan Davis blocked the kick and returned it 61 yards for a game-clinching touchdown.

"It came down to the technique and fundamentals of everything," Davis said. "We knew his angle. We knew his launch point. We just hit the gap, put our hands up at the right time and then I seen the ball on the ground.

"I just took off from there. I wanted possession. I wanted to make sure we ended the game right. Didn't know I was going to go that fast, didn't know I was going to make it all the way to the end zone."

Hurts completed 21-of-32 passes for 226 yards and ran for 40 more as the Rams squandered a 19-point lead.

"It was just a matter of figuring it out," Hurts said. "We were gritty. We stayed together as a team. We did not quit. Nobody gave up. I'm very proud of that."

In another battle of unbeatens, Eddy Pineiro kicked a 35-yard field goal at the finish to give host San Francisco a 16-15 victory over Arizona.

Tampa Bay, Indianapolis and the Los Angeles Chargers also improved to 3-0 while Green Bay and Cincinnati suffered their first defeats.

Hurts scored off a turnover on a one-yard "tush push" touchdown run, but Matthew Stafford completed a 44-yard touchdown pass to Davante Adams and Karty kicked four field for a 19-7 Rams halftime lead.

Stafford added a 10-yard touchdown pass to Kyren Williams, but Hurts connected with Dallas Goedert on a 33-yard TD pass and hit A.J. Brown on a nine-yard scoring toss to pull the hosts within 26-21.

After Jalen Carter blocked a 36-yard Karty field goal attempt, the Eagles drove 91 yards on 17 plays over 6:54 for Hurts to throw a four-yard touchdown pass to Devonta Smith with 1:48 remaining. A conversion pass failed, setting the stage for the final drama.

"I'm not proud of how we started the game," Hurts said. "I'm not proud of the flow in which we played, the execution and focus we had early in the game, but I'm proud of everybody not giving up and being determined to find a way to win."

The New York Jets got a 50-yard touchdown return by Will McDonald off a blocked field goal attempt for a 27-26 lead at Tampa Bay, but Chase McLaughlin kicked his fifth field goal, a 36-yarder as time expired, to keep the Buccaneers undefeated with a 29-27 victory over the winless Jets.

Cameron Dicker kicked a 43-yard field goal on the final play to give the Chargers a 23-20 triumph over visiting Denver and their first 3-0 start in 23 years. Justin Herbert threw for 300 yards in the victory.

At Nashville, Jonathan Taylor ran for 102 yards and three touchdowns to power Indianapolis over Tennessee 41-20.

Cleveland's Andre Szmyt kicked a 55-yard field goal as time expired to give the Browns a 13-10 upset of visiting Green Bay.

At Minnesota, Carson Wentz threw for two touchdowns and Jordan Mason ran for two as the Vikings routed Cincinnati 48-10.

Minnesota cornerback Isaiah Rodgers became the first player to return an interception and a fumble for touchdowns and force two fumbles in an NFL game -- and he did it all in the first half.

- Rodgers passes Favre -

Pittsburgh 41-year-old quarterback Aaron Rodgers threw his 509th career touchdown pass, passing former Green Bay teammate Brett Favre for fourth on the all-time list, in a 21-14 win at New England -- where Rodgers had never before won.

Caleb Williams threw for 298 yards and four touchdowns to lead Chicago over visiting Dallas 31-14.

Travis Etienne's 10-yard touchdown run with 1:48 remaining gave host Jacksonville a 17-10 victory over winless Houston.

The host Carolina Panthers won their first game 30-0 over Atlanta, host Washington ripped Las Vegas 41-24 and Seattle routed visiting New Orleans 44-13.