HOUSTON -- Houston manager A.J. Hinch was impressed by how Zack Greinke pitched without his best stuff.
Greinke (14-4) allowed 10 hits, but just three runs -- two earned -- in 6 2/3 innings. He struck out one and walked none.
The 2009 AL Cy Young Award winner was acquired in a July 31 trade with Arizona.
"He can just really pitch," Hinch said. "I know nowadays we're fixated on power and stuff and the strikeouts and wipeout this and spin that, and that's all fine and good."
"But when you see the artistic side of Zack Greinke and how pitches, how he moves the ball around the strike zone, how he challenges one of the best hitters in baseball in Mike Trout and beats him, there's just an art that he has the it factor," Hinch continued.
Greinke was asked how he was able to retire Trout all four times he faced him.
"Probably just got away with some stuff," Greinke said. "Threw him one really good changeup so I'll take a little credit on that one. But the other ones do the same thing the next game and it might not work out so good."
Roberto Osuna pitched a perfect ninth to get a save for the fifth time in six games and give him 31 this season.
The game was tied with two outs in the fifth when Gurriel launched a pitch from Noe Ramirez into the front row in right field to give the Astros a 4-2 lead.
Alex Bregman, Jake Marisnick and Jose Altuve each had two hits and drove in a run for the AL West-leading Astros. Rookie Abraham Toro, who made his major league debut Thursday night, collected his first two hits to help Houston to its fifth win in six games.
Kole Calhoun went 4 for 4 and extended his career best with his 28th homer, but the Angels lost their fourth game in a row.
"Right now, we're just playing good enough to just lose," manager Brad Ausmus said. "That's just what it is."
Jose Suarez (2-5) gave up seven hits and three runs in 4 2/3 innings to lose his fourth straight decision.
The Angels jumped out to an early lead behind Calhoun, who singled and scored on Albert Pujols' single during a two-run second.
The Astros responded with run-scoring singles by Altuve in the third and Marisnick in the fourth.
Bregman chased Suarez with a double in the fifth before Gurriel connected against Ramirez for his 26th homer.
Gurriel, who wore his nickname La Pina -- Spanish for pineapple -- on his players' weekend jersey, used a nifty bright yellow bat painted to look like a pineapple.
The Angels closed to 5-4 on Calhoun's homer in the eighth, but the rally fizzled from there.
GREINKE AND HOUSTON'S GREATS
Greinke is the third pitcher in franchise history to win each of his first four regular-season starts, joining Roger Clemens, who won his first seven starts in 2004, and Justin Verlander, who won his first six in 2017-18.
Astros: INF Aledmys Diaz will begin a rehabilitation assignment with Triple-A Round Rock this weekend. Diaz was hospitalized last weekend after experiencing dizziness on the team bus in Oakland. ... RHP Josh James (shoulder soreness) allowed two hits and three runs while getting just one out in his first rehabilitation assignment at Triple-A Round Rock on Thursday night.
Angels: LHP Dillon Peters (3-1, 3.92 ERA) will start Saturday. Peters yielded five runs -- four earned -- in four-plus innings in a no-decision against Texas on Monday.
Astros: LHP Wade Miley (12-4, 3.18 ERA) is scheduled to start. Miley allowed 10 hits but just three runs to win his sixth straight decision in Houston's 5-4 victory over Detroit on Monday.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports
Struggling Washington Nationals get back Kyle Schwarber, Josh Bell, Josh Harrison
The Nationals roster is nearly whole again after Kyle Schwarber, Josh Bell and Josh Harrison were reinstated Monday.
Mets-Phillies postponed after rainout miscue on Sunday
— A game between the New York Mets and Philadelphia Phillies has been postponed due to rain and rescheduled as part of a doubleheader for Tuesday.
Minnesota Twins, Timberwolves, Wild postpone games in wake of police shooting of Daunte Wright
The Twins, Timberwolves and Wild all postponed games on Monday following the police shooting of Daunte Wright on Sunday night.
Fantasy baseball forecaster: Team hitting ratings
Stay ahead of the game and optimize your fantasy baseball hitters with our forecaster, which provides a rolling 10-day outlook of every team's hitting matchups as well as the potential for stolen bases.
Fantasy baseball forecaster: Pitcher projections for the next 10 days
Keep up to date on who is pitching -- and how well they're expected to do -- with our forecaster, which provides a rolling 10-day outlook of every team's probable starting pitchers with game score projections.
Fantasy baseball forecaster for Week 2: April 12-18
Set your lineups for the week ahead in fantasy baseball with our forecaster preview, which features pitcher rankings, two-start pitchers, hitter ratings, schedule observations and more.