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
Indians seek 15th straight win over Tigers
The Indians have manhandled the Detroit Tigers this season, a trend Cleveland would like to see continue if it hopes to punch its ticket to the postseason in two weeks.
Shaw knocks one into the stands for a solo HR
Travis Shaw hits a solo homer in the bottom of the fifth inning to give the Brewers a 4-1 lead over the Padres.
Reds' VanMeter exits due to family medical issue
Josh VanMeter has left Cincinnati's game against the Chicago Cubs because of a family medical issue.
Orioles begin final '19 homestand against Jays
The Baltimore Orioles start their final homestand of the season on Tuesday night when they begin a three-game series with the Toronto Blue Jays.
Astros set sights on milestones as Rangers visit
The Houston Astros will begin their final homestand of the regular season on Tuesday within reach of a third consecutive American League West pennant and their third successive 100-win season.
Tigers split with O's, remain on track for top draft pick
Jordy Mercer hit a two-run homer in the first inning, and the Detroit Tigers beat the Baltimore Orioles 5-2 Monday to split a four-game series between the teams with the worst records in the major leagues.