Chris Ivory scored two touchdowns in the first half as the New York Jets recovered from 21-7 down to trail 24-17 to the Buffalo Bills at half time.
Kyle Orton recovered from an early sack to throw a long pass to Robert Woods, who managed to hold on at the back of the endzone to put the Bills ahead.
The Jets tried to respond on the following drive, but Buffalo soon got the ball back when Stephen Gilmore intercepted a Geno Smith pass.
Things got worse for the New York quarterback when rookie linebacker Preston Brown picked off the ball while Smith was looking for Jeff Cumberland, while Aaron Williams made it three interceptions before the end of the first quarter.
Smith's struggles led to him being benched and Michael Vick coming into the game for the second quarter, and the backup quarterback immediately set up Ivory for a rushing touchdown.
Sammy Watkins could have increased the Bills' lead further, but the rookie wide receiver started celebrating too soon, not realising that a defensive end had followed him, bringing him down short, but Frank Summers ran it in a couple of plays later.
Vick produced a big run late to set up Ivory for his second touchdown of the game, before Nick Folk kicked a field goal with the final play of the half.