Buffalo’s defense forced three turnovers, and LeSean McCoy broke from a September slump with a season-best 85 yards rushing. McCoy sparked the decisive drive with a 13-yard catch on third-and-3. And backup running back Chris Ivory had a 9-yard run in getting the Bills across midfield.
Rookie quarterback Josh Allen scored on a 14-yard touchdown run but was held in check as a passer. He hit 10 of 19 passes for 82 yards with an interception.
Buffalo (2-3) bounced back from a 22-0 loss at Green Bay last weekend.
The Titans struggled on offense in failing to build off a 26-23 overtime win over the defending champion Philadelphia Eagles. After winning each of its past three by three points, Tennessee (3-2) found itself on the losing end of a tightly played game in which the kickers accounted for six field goals and the teams combined for 444 yards offense.
Ryan Succup scored all of Tennessee’s 12 points by hitting four field goals, including a 50-yarder that put the Titans up 12-10 with 4:43 remaining.
Marcus Mariota finished 14-of-26 passing for 129 yards and an interception.
The Titans’ best chance of finding the end zone slipped through their fingers early in the fourth quarter.
Facing third-and-4 at Buffalo’s 23, Mariota avoided the pass rush and scrambled to his left, where he lobbed to receiver Nick Williams wide open in the end zone. Williams, however, had the pass drop through his hands while attempting to make an over-the-shoulder catch.
Tennessee settled for Succup hitting a 39-yard field goal to cut Buffalo’s lead to 10-9.
Bills rookie linebacker Tremaine Edmunds and defensive end Shaq Lawson had forced fumbles, while rookie cornerback Taron Johnson had an interception.