Updated

Houston remains atop the AFC standings with a franchise-best 7-1 start after picking up another win by beating the Buffalo Bills on Sunday.

Just don't expect the Texans to celebrate the 21-9 win in which Arian Foster ran for 111 yards and a touchdown and Andre Johnson added 118 yards receiving to lead a balanced attack.

"I think we can be a lot better," Johnson said. "I think we have yet to play our best football."

The Texans know they'll need to next Sunday night at Chicago, which also improved to 7-1 Sunday.

"We're not finished," quarterback Matt Schaub said. "We have to go in a tough environment against a very good football team next Sunday. We've got to look at this one as something to grow from."

Mario Williams had a sack and a team-leading five tackles in his first game at Reliant Stadium since signing a $100 million contract with Buffalo (3-5) in the offseason.

"I think the biggest thing for me is if you go out and make a play and you get booed, I know I'm in your heart," he said. "That's the most important thing. If it had been quiet then I would have felt something different. But I know you're thinking about me."

Houston made the then-shocking decision to take Williams with the top overall pick in the 2006 over offensive stars Vince Young and Reggie Bush. He piled up a franchise-record 53 sacks in his time in Houston, but the Texans let him go in the offseason when he became a restricted free agent.

The Texans had to punt on their first two possessions, which didn't sit well with coach Gary Kubiak and an offense that talked all week about starting fast.

"It wasn't always pretty," Kubiak said of Sunday's performance. "But we found a way to get it done. And it's about winning. I told them to feel good about winning, but let's come in tomorrow and try to fix some of that stuff."

Houston's offense finally started clicking on its third drive and Matt Schaub found Owen Daniels wide open for a 39-yard touchdown reception near the end of the first quarter to make it 7-0.

C.J. Spiller had a 28-yard catch and run early in the second quarter to get Buffalo to the Houston 19. But the next three plays netted one yard to bring on Rian Lindell. He shanked the 37-yard field goal attempt and it sailed wide right.

Williams sacked Schaub for a 4-yard loss on Houston's next drive. He jumped up and shook his finger at the Houston sideline after the hit, in a gesture that looked much like the one J.J. Watt does after his sacks.

"I was at least going to get one," Williams said. "I couldn't just come in here and not. I had to at least somehow, some way get one. I wish it would have been more. I definitely had some more opportunities."

Houston came away empty on that drive when Shayne Graham's 46-yard field goal was blocked.

The Bills got into the red zone two more times in the first half, but settled for field goals of 22 and 38 yards to leave the Texans up 7-6 at halftime.

"We were really out of whack at halftime," Kubiak said. "We were heavy pass, and that was because of all the 1st-and-20s. I told the coaches at halftime, we are going to ... run the ball and give ourselves a chance to play defense, and we did that."

The Texans pushed the lead to 14-6 with a 3-yard run by Foster early in the third quarter. That touchdown was set up by a 34-yard reception by Johnson two plays earlier. Buffalo cornerback Aaron Williams injured his right knee making the tackle on the catch by Johnson. Buffalo coach Chan Gailey didn't give details of the injury, but Williams left the locker room soon after the game on crutches.

Buffalo got within 14-9 on a 39-yard field goal by Lindell in the third.

A 5-yard touchdown reception by Garrett Graham made it 21-9 early in the fourth quarter. Johnson had 32 yards receiving to keep that drive rolling.

Watt had a sack in the second quarter to give him 10½ this season. That made him the 11th player since 1982 to have at least 10 sacks and 10 passes defended in a season.

The Bills moved the ball effectively at times, but their offense stalled in the red zone and they had to settle for field goals.

"It's big," Watt said of keeping Buffalo out of the end zone. "They get down there, they're looking for big points ... and it's always good when you're giving (the offense) the ball back and only three points on the board."

NOTES: The win leaves the series between these teams tied at 3-3. ... Bills receiver Stevie Johnson was hit on the thigh and had to sit out late in the game. Gailey didn't have any more information on the injury. ... The Bills allowed three sacks after giving up a total of eight in their first seven games. ... Fred Jackson went over 4,000 yards rushing in his career. ... Texans RB Ben Tate sat out with a hamstring injury. ... Texans improved to 39-5 under Kubiak when rushing at least 30 times.

___

Online: http://pro32.ap.org/poll and http://twitter.com/AP_NFL