The Houston Texans moved to 7-1 on the season with a hard-fought 21-9 victory over the Buffalo Bills at Reliant Stadium in Texas.