Zack Greinke pitched seven scoreless innings and Kyle Tucker hit his first career grand slam as the Houston Astros locked in a 4-1 decision over the Los Angeles Angels.