Davis Mills went 1-for-8 for 10 yards in the first quarter, and the Texans trailed the Bills 6-3.
Mills is now 11-of-21 for 122 yards and two touchdowns, and the Texans lead 20-16 at halftime.
Josh Allen had a couple of scares in the first half. He stayed down after being smashed from behind by Will Anderson Jr. with 2:48 remaining in the first quarter.
Allen did not need medical attention once he got to the bench, though he did get an elbow wrap.
In the second quarter, he threw a pass intended for Elijah Moore that Azeez Al-Shaair tipped and Calen Bullock intercepted. Bullock returned it 44 yards for a touchdown, but it was negated by an illegal blindside block on Derek Barnett. The Texans got only a 43-yard Ka’imi Fairbairn field goal out of it and a 13-9 lead with 1:56 left in the first half.
Ray Davis got the lead back right back for the Bills on a 97-yard kickoff return. It was the fourth kickoff return for a touchdown in the league this season.
The Texans, though, closed out the half with a perfect two-minute offense. They went 75 yards in six plays and used up 1:38 of the final 1:43. Jayden Higgins scored on an 8-yard pass from Mills, who earlier threw a 2-yard touchdown to Christian Kirk.
Nico Collins has three catches for 55 yards and Kirk four for 46 yards and a touchdown. Woody Marks has rushed for 44 yards on eight carries.
The Texans have outgained the Bills 201 to 155.
Allen is 11-of-15 for 88 yards and an interception. James Cook has seven carries for 75 yards, including a 45-yard touchdown.