HOUSTON -- Last season Yuli Gurriel finished with 13 home runs.
After a recent power surge, the 35-year-old has matched that total with one game to go until the All-Star break.
Gurriel homered for the fourth straight game and Gerrit Cole pitched seven scoreless innings before two relievers completed the four-hitter, leading the Houston Astros to a 4-0 win over the Los Angeles Angels on Saturday night.
Gurriel's solo shot extended Houston's lead to 3-0 in the sixth and gave him a 10-game hitting streak and the longest stretch of consecutive games with home runs in his career.
"He's stayed completely under control, his body mechanics are good and he's probably the one guy in there who doesn't want the All-Star Game to come," manager AJ Hinch said. "He'll want it from a fatigue level but not from a production level. He's been as good as anybody."
Cole (9-5) scattered three hits over seven innings while striking out nine to win his fifth straight decision.
"I was just executing a handful of pitches and had some spots in my back pocket that I thought were good and I just stuck with them," he said.
Cole, who leads the American League with 170 strikeouts, started July off strong after going 3-0 with a 1.89 ERA in June to win AL pitcher of the month honors.
Ryan Pressly allowed one hit in the eighth and Collin McHugh struck out the side in the ninth to help Houston to its sixth win in seven games.
For the Angels, Andrew Heaney started for the first time since teammate and best friend Tyler Skaggs was found dead in his hotel room on Monday.
The left-hander took the mound wearing a cap with Skaggs' initials "TWS" written to the left of the team logo and his No. 45 occupying the right side. He sported a different look than he had on Friday, as the normally mustachioed Heaney was clean shaven like his pal Skaggs always was.
Heaney crouched down and scribbled "RIP 45" in the dirt before rising to begin the game.
His tribute continued touchingly there when he tossed a slow, looping curveball as a nod to Skaggs' signature pitch for his first throw of the game. George Springer pulled his bat back and simply watched as the ball sailed into the catcher's glove.
Catcher Dustin Garneau alerted Springer to the plan and he told him he'd take it.
"It's an honor to be a part of it and I hope he got something out of it," Springer said. "It's just a good moment for our sport."
Heaney said he tried to find a way to honor his friend that felt authentic and he landed on trying to mimic his pitch.
Heaney (1-3) had a better outing than he did in his last start when he gave up five runs, but allowed five hits and two runs in five innings for his second straight loss.
Alex Bregman and Yordan Alvarez hit consecutive singles off him with no outs in the fourth before Gurriel grounded into a force out that left Alvarez out at second and sent Bregman to third. Houston took a 1-0 lead when Josh Reddick singled to right field with two outs in the inning to score Bregman.
Springer walked with one out in the fifth before Bregman clanged a doubled off the wall in left field with two out to score Springer and make it 2-0.
Trevor Cahill took over for the sixth inning and Gurriel sent his second pitch over the low wall in right field for his homer. Eight of Gurriel's 13 home runs this season have come in his last 10 games, which marks the first time an Astro has homered eight times in 10 games since Morgan Ensberg did it in April 2006.
"A home run is something that everyone is happy about," Gurriel said in Spanish through a translator. "And to be able to hit eight in 10 games is something I'm extremely happy about."
Shohei Ohtani doubled with two outs in the first before Kole Calhoun walked, but Cole retired Andrelton Simmons to end the inning and the Angels didn't have more than one baserunner in an inning against Cole after that.
He got stronger as the game went on, retiring 14 of the last 15 batters he faced, with eight strikeouts, capped when he fanned Jarrett Parker on a 101.1 mph fastball on his 110th pitch.
The Astros loaded the bases on a walk by Mike Trout with one out in the eighth, but Pressly sat down the next two batters to end the threat.
Angels: OF Justin Upton sat out for a third straight game on Saturday with a tight quadriceps muscle and said that he expects to miss Sunday's game to recover and will return after the All-Star break.
Astros: OF Michael Brantley was out of the lineup with a sore right hamstring. Hinch said he was day to day.
Angels: LHP Jose Suarez (2-1, 5.40 ERA) will start for Los Angeles in the finale on Sunday. Suarez allowed three hits and three runs — two earned — in four innings in his last start against Texas but did not factor in the decision.
Astros: RHP Jose Urquidy (0-0, 4.91) will make his second career major league start on Sunday. Urquidy yielded six hits and two runs in 3 2/3 innings in his MLB debut on Tuesday but did not factor in the decision in Houston's 9-8 win over Colorado.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP—Sports