EAST RUTHERFORD, N.J. (AP) - Matt Forte ran for two touchdowns four days after complaining the Jets didn't run the ball enough, and an overwhelming defense sacked Tyrod Taylor seven times Thursday night in New York's 34-21 demolition of the Buffalo Bills.
Buffalo (5-3) came in having scored 64 points in its last two wins, but self-destructed with turnovers and miscues. New York (4-5), which snapped a three-game slide in which it held leads in each defeat, looked more like the challenger to New England in the AFC East.
Forte scored on runs of 10 and 5 yards and had 14 carries for 77 yards. Augmenting that was Bilal Powell with a 51-yard burst and 74 yards on nine carries. Quarterback Josh McCown got in on the fun with a 10-yard scramble to open the scoring and New York rushed for 194 yards overall.
Jordan Jenkins had two of the Jets' sacks as they never allowed Buffalo's offense to get on track.
Indeed, mistakes were the Bills' trademark.
Buffalo made a key error on New York's second touchdown drive. Cedric Thornton sacked McCown, but grabbed his face mask. The 15-yard penalty, which followed a 20-yard pass to Jermaine Kearse and a 22-yard run by Forte, led to Robby Anderson beating double coverage for a 25-yard TD reception.
Forte's 10-yard run made it 24-7 and came one play after Powell broke four tackles on his 51-yard jaunt that featured slick moves and plenty of speed.
The Bills hurt themselves further when Nick O'Leary fumbled on a strange play. The tight end caught Taylor's third-down pass and fell to the ground untouched. He delayed, heard no whistle, and got up. But the ball then was stripped by rookie safety Marcus Maye and recovered by fellow rookie safety Jamal Adams.
Adding to the miscues, Bills DE Jerry Hughes drew a 15-yard unsportsmanlike conduct penalty for mouthing off to an official - during a timeout, no less - on the ensuing Jets drive.
Taylor also fumbled when sacked for the sixth time, and Forte's 5-yard TD run followed. And even when the Bills recovered a late onside kick, they were flagged for offside.
New York opened the scoring - the fourth straight game it has led early - after some strong defense pinned Buffalo near its goal line. A punt set up the Jets near midfield and they used eight plays to score.
McCown, looking very spry for a 38-year-old QB, went in untouched down the left side on a scramble for a 7-0 Jets lead.
Buffalo matched that, aided by Taylor's 18-yard scramble on third down. Rookie Zay Jones caught his first pro TD, an 11-yarder when he got wide open over the middle.
An offensive pass interference call on Austin Sefarian-Jenkins TD catch negated the tight end's TD early in the second quarter and the Jets settled for Chandler Catanzaro's 45-yard field goal to retake the lead. He later hit a 32-yarder.
The Jets found a pass rush that was missing in action most of the year. They came in with 11, which was last among teams that had played eight games.
GALLERY: Photos of Bills vs. Jets
Buffalo scored two late touchdowns to make the final margin less lopsided.
Fireman Ed, once the team's unofficial cheerleader, led the J-E-T-S chant for the first time this season. It got pretty loud, too, even though there were several thousand empty seats at MetLife Stadium.
Bills: Rookie Jones, who was having a fine first half with four catches for 40 yards and a touchdown, was tripped by cornerback Buster Skrine and injured his right leg and was helped off. Jones, Buffalo's second-round pick, returned for the second half. Running back Taiwan Jones hurt his left arm in a scramble for a fourth-quarter onside kick.
Jets: WR Jeremy Kerley left in the first quarter with a foot injury. LB Bruce Carter (hamstring) was sidelined in the second half.
Bills: Host New Orleans on Nov. 12.
Jets: Visit Tampa Bay on Nov. 12.