Moore (11-3) notched his third win in three starts, baffling the Astros on just two hits. The left-hander issued a pair of walks and struck out nine in the 101-pitch gem.
Roberts smacked a two-run shot in the first and added a solo blast in the eighth, going 3-for-5 with three runs scored, while Sean Rodriguez supplied four hits and three RBI in the one-sided victory.
Jose Lobaton went 3-for-5 with and RBI for Tampa Bay, which banged out 17 hits in winning the first of a four-game series.
Dallas Keuchel (4-5) was lit up for five runs on eight hits over 4 2/3 innings for the Astros, who lost for the sixth time in seven games.