Foster compiled 102 receiving yards and rushed for 84 more for the Texans (7-3), who have averaged 205.3 rushing yards per game during a four-game winning streak.
Matt Schaub passed for 242 yards and two scores while Ben Tate picked up 63 yards and a touchdown on the ground.
Jacoby Jones broke an 80-yard run for a touchdown on the first offensive play of the game for Houston.
The Buccaneers (4-5) lost for the fourth time in five games as Josh Freeman was held to just 15-of-35 through the air for 170 yards with a touchdown and three interceptions.
Wisconsin business offering 'therapeutic cuddling' forced to close
Workers accuse National Zoo of animal mismanagement