EAST RUTHERFORD, N.J. (AP) — Josh Allen and the Buffalo Bills had more turnovers than points while scuffling through much of the first three quarters against the New York Jets.
None of those early struggles mattered in the end.
Allen threw a 38-yard touchdown pass to John Brown with 3 minutes left, and the Bills overcame four early turnovers to rally from a 16-point second-half deficit and stun Le'Veon Bell and the Jets 17-16 in the season opener Sunday.
"We continued to fight," Brown said. "We didn't point any fingers. We just kept fighting until the time was up."
After struggling to get much going on offense, the Bills finally were able to move the ball after Jets middle linebacker C.J. Mosley, who had two takeaways including an interception for a touchdown, left with a groin injury late in the third quarter.
"When he went out, it was kind of a game changer," Allen said, "as far as they didn't have somebody that vocal in the middle of the field that was able to make all their calls and all their checks."
Buffalo also took advantage of kicking woes by the Jets as Kaare Vedvik, claimed last week off waivers from Minnesota, missed an extra point and a 45-yard attempt.
"We've just got to get better," said Adam Gase, coaching his first game for the Jets. "We have to make extra points. We have to make field goals. We can't be losing out on points in those areas of the field."
Bell caught a touchdown pass and had a 2-point conversion in his Jets debut, and Jamison Crowder had 14 catches for 99 yards in his first game with his new team — but Gase's offense otherwise sputtered behind a line that gave Sam Darnold little time to throw.
"We were inept on offense," Gase said flatly.
Allen finished 24 of 37 for 254 yards and a touchdown, and had one of his two interceptions returned 17 yards for a touchdown by Mosley. Brown caught seven passes for 123 yards. The Bills' defense limited the Jets to 223 total yards.
"I don't think many teams can turn the ball over four times in the first half and only be down 6-0," Allen said. "It speaks volumes about who they are, the character they have and how they're coached."
Darnold was 28 of 41 for 175 yards and the TD to Bell, who ran for 60 yards on 17 carries. The running back, who sat out all last season in a contract dispute with Pittsburgh, also caught six passes for 32 yards.
Leading 8-0 in the third quarter, it appeared the Jets scored on a 5-yard throw from Darnold to Ryan Griffin, but the play was overturned as Quincy Enunwa was called for offensive pass interference.
Two plays later, New York got into the end zone again — and it counted — as Bell reached down for a low throw and stepped into the end zone for a 9-yard touchdown.
Gase then opted for the 2-point conversion and Bell leaped in the back of the end zone and came down with Darnold's desperate heave to put New York up 16-0 with 7:01 left in the third quarter.
Buffalo got onto the scoreboard on its next possession on Stephen Hauschka's 43-yard field goal. The drive was kept alive when Henry Anderson was called for roughing the passer on third-and-10 from the Jets 49. A diving Marcus Maye also dropped an interception on the play right before Hauschka's field goal.
Mosley injured his groin during the drive while breaking up a pass into the end zone. Rookie Blake Cashman replaced him, but the loss of New York's middle linebacker made a difference on Buffalo's next drive.
Rookie Devin Singletary gouged the defense on runs of 23, 12 and 15 yards, and Allen capped the impressive drive by pump faking, taking off to his right and stepping inside the right-front pylon to make it 16-10 with 10:21 remaining.
"I felt like our energy died, man," Jets safety Jamal Adams said. "We weren't playing team ball. Any time you do that, a team's going to take advantage of it."