ANAHEIM, California -- Justin Verlander is not prone to sentimentality.
More excited about getting out of a jam than getting his 2,500th strikeout, Verlander put both his flair for the moment and his enduring greatness on full display Wednesday night in a classic masterpiece on the mound.
The right-hander threw a five-hitter for his first shutout in three years and Evan Gattis hit a two-run homer as the Houston Astros beat the Los Angeles Angels 2-0.
"Pretty much a clinic on how to pitch," Astros manager A.J. Hinch said. "I mean, it's just an epic performance by a really good pitcher. It's fun to win a series, especially against a team like this. Even more sweet when one of your best carries you on his back."
Verlander (5-2) was superb in ending his two-game skid, finishing with seven strikeouts to reach 2,500 for his career. He walked one and lowered his ERA from 1.21 to 1.05.
It was the fourth time this season he's gone at least six innings without giving up a run.
With his supermodel wife, Kate Upton, applauding in the crowd, Verlander threw 118 pitches in his 24th career complete game and first since 2016 with Detroit. Two runners were on when he retired Zack Cozart on an infield popup to polish off his eighth major league shutout and first since 2015 with the Tigers.
Gattis' fourth home run came off hard-luck loser Garrett Richards (4-2) in the second inning after a two-out throwing error by Cozart at third base. Gattis has three home runs in his last five games.
That was enough for Verlander, who did not allow a runner past first base for the first seven innings. Andrelton Simmons singled in the second and Albert Pujols singled in the fourth.
The Angels finally put pressure on the Astros' ace in the eighth. Ian Kinsler got a one-out single and Kole Calhoun hit a ground-rule double, putting two runners in scoring position. But then Verlander threw a called third strike past pinch-hitter Luis Valbuena and got Mike Trout to ground out softly on a check-swing.
After escaping the jam unscathed, Verlander pumped both arms and then his right fist.
"Here's the game right here. Can you get out the best player in the world? Yeah, I was pretty excited about it," Verlander said.
Trout went 0 for 4. Shohei Ohtani was 0 for 4 with three strikeouts, going down swinging on three pitches to start the ninth for Verlander's 2,500th strikeout. But it wasn't time to reflect, not for the intensely focused Verlander with Pujols coming up to bat.
"I don't know if 2,500 punches is the one to do that," Verlander said. "I know I'm creeping up on 200 wins, so maybe that's an opportunity to really kind of sit down and think about the gravity of some things, but it's something I'm working on."
Pujols singled with two outs and Verlander walked Andrelton Simmons before retiring Cozart.
"Verlander, when he smells the end of a game, that's when he really turns it up," Angels manager Mike Scioscia said.
Richards was nearly as effective, allowing four hits and one walk in seven innings. He struck out four, and both runs off him were unearned.
It was the second skip of a grounder to Cozart taking a "terrible hop," as Scioscia said, that saddled Richards with the loss. Cozart had to react quickly and backhand it, which resulted in an off-balance throw into the dirt.
"It (stinks) to lose a game on a play like that," Cozart said. "When Gattis hits the home run, that makes it a huge play right away, and we know the guy on the mound is going to be tough to battle against. You can't give good teams extra outs."
Ohtani did not reach base for the second time in 19 starts as the designated hitter, in part because Verlander was understandably cautious about challenging the Japanese two-way star.
"I threw him a 3-2 slider the first time I faced him," Verlander said. "I don't think I do that to a lot of guys that I've never faced before, but I've seen him take some pretty impressive swings on fastballs on predictable counts."
Astros: OF Tony Kemp was recalled from Triple-A Fresno after OF Jake Marisnick was sent down following Tuesday night's game. Kemp went 1 for 3 while playing left field and batting ninth.
Angels: RHP Eduardo Paredes was recalled from Triple-A Salt Lake, giving the Angels another option in their struggling and overworked bullpen. RHP Jamie Barria, who is 3-1 with a 2.13 ERA in five starts, was sent down in a corresponding move.