KANSAS CITY, Mo. — The measures within a rebuild are rarely easy and rarely enjoyable, but the grind is particularly difficult for those who preceded it in Kansas City, those whose initial seasons here were composed of more meaningful games in the standings. And so Royals manager Ned Yost outlined a blueprint last week to provide some veteran players a day off from a most difficult month.

Brad Keller extended the break an extra 24 hours.

Keller pitched the best game of his rookie season Monday, seven scoreless innings that sparked a 2-0 Royals victory against the Los Angeles Angels at Kauffman Stadium.

Keller (2-2) did not allow a runner to reach second base in a one-game homestand, a makeup date from a postponement on April 15.

“Just a great pitching performance,” Yost said. “He never was in any real trouble. Had the game in total control.”

The Royals (24-54) won for just the fourth time in 25 days this month. They broke a nine-game home losing streak, avoiding becoming the fifth major-league team with two double-digit home losing skids in the same season.

Keller was the centerpiece of it, recording career-highs with seven innings, six strikeouts and 109 pitches. He allowed only four baserunners.

The baseball rarely left the ground. Only one hitter — Mike Trout — even sent the ball to the outfield. It came on a sixth-inning single.

That was it.

“If the ball’s up in the air, I’m a little nervous, because I need to make some adjustments and get the ball back down,” Keller said. “That’s kind of my key to know my ball’s moving and stuff, when the ball’s on the ground.”

Keller did the heavy lifting before Kevin McCarthy and Wily Peralta supplied support in the eighth and ninth. McCarthy entered with David Fletcher on first base and no outs in the eighth after Tim Hill plunked Fletcher. McCarthy retired the next three hitters — the final two with Fletcher standing on third, including a one-out strikeout of outfielder Chris Young.

“A strikeout is in the back of my mind there, but really I’m just trying to keep the ball down because if I get out of what I normally do, I can make some mistakes,” McCarthy said.

The Royals tagged Angels starter Tyler Skaggs just once — Lucas Duda scored Hunter Dozier on a fourth-inning single. But Rosell Herrera’s third hit drove in another run in the eighth. In the ninth, Peralta worked around a two-out single for his first career save. Before the game, Yost had decided to go with Peralta should a save opportunity arise.

It was news to Peralta.

“I like those opportunities,” Peralta said. “I like to pitch in close situations. It gets a little more adrenaline going.”

That preserved Keller’s first victory since he moved into the rotation last month. Keller, 22, was acquired through the Rule 5 draft in December, an afterthought, at least publicly, in the opening year of the remodeling process. It’s been a steady climb within the Royals’ pitching staff in the weeks since.

He was offered an opportunity to pitch out of the Royals’ bullpen out of spring training, and after recording a 2.01 ERA in his 21 appearances in that role, it triggered a promotion to the rotation last month. In five starts, his ERA is 2.45.

Yost had planned to extend Keller above 100 pitches — to as many as 115 — if possible. A clean seventh made the decision easier.

“The intent was to send him out and take it hitter-by-hitter,” Yost said. “He did exactly what you wanted him to do — he gets all three of them without having to put you in that position (to take him out). I was probably more proud of that inning than all the others.”