Brad Keller pitched seven innings of two-hit ball, Lucas Duda and Rosell Herrera drove in the only runs and the Kansas City Royals beat the Los Angeles Angels 2-0 on Monday in the makeup of a game that was frozen out in April.
Kevin McCarthy struck out Chris Young and retired Ian Kinsler to strand a runner on third base in the eighth, and Wily Peralta ended the three-hitter by working around Albert Pujols' single in the ninth.
It was the first save for the longtime starter in 136 career big league games.
Keller (2-2) struck out six and walked two in his fifth career big league start. Nobody reached second on him, and the Rule 5 pick plucked from the Diamondbacks retired the side in order in the seventh, when his pitch count eclipsed 100 for the first time this season.
The Royals scored the only run they needed off Tyler Skaggs (6-5) in the fourth. Duda, who is known primarily for his power, managed to dribble a single through the infield, driving in Hunter Dozier after he reached on a leadoff double on a mild, sun-splashed afternoon.
Herrera added an RBI single, his career-high third hit of the game, in the eighth inning.
Skaggs, who was scratched from his start last week with right hamstring tightness, allowed seven hits and walked two in seven innings. He struck out eight for the third straight start.
Both teams had to fly into Kansas City for the makeup game, the Angels to kick off a road trip that sends them to Boston and Baltimore and the Royals between stops in Houston and Milwaukee.
Not that manager Ned Yost's bunch minds now. The Royals had lost nine in a row at Kauffman Stadium, getting outscored 54-17 over the stretch, with their last win coming June 2 against Oakland.
Of their four wins overall in June, three have been shutouts.
JACKIE ROBINSON DAY
The Angels and Royals were supposed to wear No. 42 to celebrate Jackie Robinson when their game was frozen out. So, they donned the jerseys Monday instead.
"When we were going to do it, it was like, what, 18 degrees here?" Angels manager Mike Scioscia said. "The guys were really looking forward to it."
ESKY ALL OVER
The Royals' Alcides Escobar started at third to give Mike Moustakas a day off. The club wants to give youngster Adalberto Mondesi a long look at shortstop, so Escobar has been moved around a bit. He started in center in Houston last Friday and has a majors-leading streak of 411 consecutive starts.
TRAINER'S ROOM
Angels: RHP Garrett Richards (left hamstring strain) threw off a mound, but Scioscia warned "we'll have to progress from there." ... INF Zack Cozart (left shoulder subluxation) began baseball activities but is still in the evaluation phase. ... INF Jefry Marte (left wrist sprain) is also swinging now. "We've got a whole team back in Southern California," Scioscia deadpanned.
Royals: INF Cheslor Cuthbert remains sidelined with a lower back strain. "He's starting to feel a little better," Yost said, but there is no timetable for his return.
UP NEXT
The Angels begin their scheduled road trip Tuesday night in Boston, where left-hander John Lamb (0-0, 5.40 ERA) starts in the opener of a three-game set against the Red Sox. Kansas City returns to the road with right-hander Jakob Junis (5-8, 4.43 ERA) starting the first of two games in Milwaukee on Tuesday night.