Greinke (5-2) permitted one run and six hits. The right-hander, who retired 11 of his first 12 batters, improved to 14-3 in his career against the Padres.
Houston jumped on Snell (1-2) for four runs in the first. Alex Bregman drove in Jose Altuve with a groundout, and Tucker capped the inning with a three-run homer to left.
The Astros added three more in the third. Aledmys Díaz hit a two-run double and scored on Taylor Jones’ enkellopend.
Snell permitted a career high-tying seven runs in three innings. He allowed five hits, struck out three and walked three.
San Diego’s Joe Musgrove threw five hitless innings in relief, extending his shutout streak to 17 innings spanning his last three outings.
Webster Rivas hit a solo homer for San Diego in the fifth for his first career hit. Wil Myers and Ha-Seong Kim connected in the ninth, but the Padres fell to 8-1 in interleague play.
Astros: RHP Bryan Abreu was placed on the 10-day injured list with a left calf strain. RHP Enoli Paredes was recalled from Triple-A Sugar Land. … DH Yordan Alvarez missed a fourth straight game with a sore right wrist. … RHP Lance McCullers Jr. (right shoulder soreness) threw and felt well, manager Dusty Baker said, adding that he could throw a bullpen this week.
After striking out to end the third, San Diego’s Tommy Pham broke his bat over his knee. Pham thought he had walked on a 3-1 pitch, and threw his bat back towards the dugout, but it was called a strike. Pham swung and missed strike three.
Padres: Begin a three-game series at the Cubs on Monday but will have to name a new starter after using Musgrove, the originally scheduled Monday starter.
Astros: RHP José Urquidy (3-2, 3.22 ERA) will come off the injured list and start against the Red Sox on Monday in the first of a four-game series. Urquidy last started May 12, when he exited in the fourth inning with shoulder discomfort.