Johnson played despite sustaining a bruised lung in the second quarter of Houston's win over San Francisco last Sunday. He leads the league with 634 yards receiving.
The Bills were without five starters: quarterback Trent Edwards (concussion), defensive tackle Kyle Williams (knee), safeties Donte Whitner (ankle) and Bryan Scott (ankle), and right tackle Jonathan Scott (ankle).
Williams missed his first game of his career, snapping a string of 50 straight starts, the fourth- longest streak in franchise history.
Backup quarterback Ryan Fitzpatrick made his second straight for Edwards.