Tyrod Taylor threw two touchdown passes and the new-look Bills beat the New York Jets 21-12 on Sunday in Sean McDermott's debut as Buffalo's coach.
Mike Tolbert also scored on a 1-yard run , while Buffalo's defense had three interceptions, including linebacker Ramon Humber picking off Josh McCown's pass to thwart a 2-point conversion in the third quarter.
Safety Micah Hyde, a free agent offseason addition, sealed the victory by intercepting McCown at Buffalo's 41 to end the Jets' final series.
Taylor was 16 of 28 for 224 yards and an interception.
The Bills never trailed after opening the scoring on Taylor's 1-yard touchdown pass to Charles Clay 3 1/2 minutes into the second quarter.
The victory came in McDermott's first game since the former Carolina Panthers defensive coordinator took over in January after Rex Ryan was fired in the final week of last season.
The Jets looked much like a team in the midst of a makeover after making numerous offseason moves to purge talent.
McCown went 26 of 39 for 187 yards. The 38-year-old quarterback opened his 15th NFL season by extending his personal losing streak to eight games dating to Oct. 11, 2015, when he led Cleveland to a 33-30 win over Baltimore. McCown is now 1-17 in his last 18 starts.
McCown scored New York's lone touchdown on a 1-yard run to briefly cut Buffalo's lead to 14-12 with two minutes left in the third quarter.
The Bills responded on their next possession with a nine-play 80-yard drive capped by Tolbert's touchdown.
Buffalo negated the Jets' strength by limiting New York's running back tandem of Matt Forte and Bilal Powell to a combined 38 yards rushing.
Jordan Poyer also intercepted a pass from McCown by ripping it out of the hands of receiver Robby Andersonat Buffalo's 22 with 6:33 left.
The game was sloppy at times and a reflection of two AFC East teams opening with lowered expectations and coming off major offseason overhauls.
Buffalo squandered two scoring opportunities in the first half. Taylor's pass to Charles Clay in the end zone glanced off the tight end's hands and was intercepted by Juston Burris. The cornerback returned it 48 yards, and went down when he bumped into his teammate. Burris then fumbled, but was ruled down by contact, as he had a knee down when hit from behind by Bills center Eric Wood.
Newly acquired kicker Stephen Hauschka also missed a 46-yard attempt wide left.
The Jets, meanwhile, managed just four first downs and 85 yards offense in the first half in settling for a pair of field goals by Chandler Catanzaro, including a 52-yarder.
Jets: Jeremy Kerley will have to wait to mark his return with New York. Kerley re-signed with the Jets on Tuesday after being cut by the San Francisco 49ers. With QB Bryce Petty still nursing a knee injury, Christian Hackenberg served as the backup.
Bills: Backup DE Jerel Worthy did not play as he is still recovering from a concussion sustained in Buffalo's preseason finale.
Jets: WR Jermaine Kearse, acquired in a deal that sent DL Sheldon Richardson to Seattle 10 days ago, had seven catches for 59 yards. Waiver-claim addition Kony Ealy knocked away two passes.
Bills: WR Jordan Matthews, acquired in a trade that sent CB Ronald Darby to Philadelphia last month, had two receptions for a team-best 61 yards.
Jets: TE Eric Tomlinson did not return after hurting an elbow in the second quarter.
Bills: CB E.J. Gaines did not return after hurting his left shoulder while assisting Lorenzo White in tackling Bilal Powell on an 11-yard run midway through the fourth quarter.
Jets: At Oakland on Sept. 17.
Bills: At Carolina on Sept. 17.