KANSAS CITY, Mo. -- Brad Keller kept up his recent pitching surge with another strong outing.
Keller gave up a home run to the first batter of the game -- Cedric Mullins -- but quickly settled in to pitch eight strong innings in the Kansas City Royals' 9-2 win over the Baltimore Royals in a matchup of the teams with the worst records in the majors.
"Every time he takes the mound, you expect him to keep you in the ballgame," Royals manager Ned Yost said. "He just did what he does so well. He keeps the ball on the ground and did a nice job doing that."
Keller (7-5) gave up two runs and four hits with two walks and four strikeouts to improve to 3-0 with a 2.16 ERA in his last four starts.
"I was just trying to get in a groove and throw strikes," he said. "I just made a mistake (to Mullins). You've got a long game after that. You've got to flush it and lock it back in.
Ryan O'Hearn homered among his three hits and drove in four runs, Whit Merrifield scored three runs, and Hunter Dozier and Cam Gallagher also went deep to help the Royals win for the fifth time in six games on their current homestand.
"They're not exactly household names yet, O'Hearn, Dozier and Gallagher," Yost said. "But they're doing okay. You watch Dozier who looks totally comfortable now. O'Hearn has always been a guy with a lot of confidence that he can hit. It's nice to see Cam get off to a good start too."
With the scored tied 1-1 in the fourth, Andrew Cashner (4-13) gave up a sacrifice fly to Merrifield after loading the bases on two walks and a single. Dozier led off the fifth inning with a 423-foot home run to left field to make it 3-1.
"(Cashner) was having trouble gripping his breaking ball," Baltimore manager Buck Showalter said. "He never really got a feel for it. He'd throw a couple and it's just hard to go through that many hitters, especially lefthanders, without a feel for a breaking ball. I think the last home run is the one that's going to stick with him. He could have come out of that with three runs, not being able to do the things he normally does."
The Orioles pulled within a run in the sixth when Mullins led off with a double just beyond the reach of Dozier at third, advanced to third on a fly ball and scored on Trey Mancini's sacrifice fly to the wall in right.
The Royals answered in the bottom of the inning as Gallagher hit his first home run of the season, ending Cashner's night.
"I think he was trying to get it out over the plate but it backed up on him," said Gallagher, who was recalled from Triple-A Omaha Friday after the Royals traded catcher Drew Butera to the Colorado Rockies. "He just left it middle-in and I was able to get a good swing on it."
Cashner, who has given up a career-high 21 homers, allowed four runs and nine hits in 5 1/3 innings. He walked three and struck out one.
"That was probably some of the worst stuff I've carried into a game," Cashner said. "My sinker was not there tonight. (My) offspeed pitches were not there. (I) didn't really command anything for a strike."
O'Hearn added a two-run single off Yefry Ramirez later in the sixth to push Kansas City's lead to 6-2. Dozier's RBI single in the eighth drove in Merrifield for his third run scored of the game, and O'Hearn added a two-run homer off Ryan Meisinger to cap the scoring.
Orioles: OF Joey Rickard was recalled from Triple-A Norfolk. ... RHP Jhan Marinez was reinstated from the 10-day disabled list (right hamstring strain). He cleared waivers and was assigned outright to Norfolk. ... OF Craig Gentry was designated for assignment.
Orioles: OF Mullins, who missed Wednesday's game with a hip injury, was back in the lineup in the leadoff spot. "I'm feeling good," he said prior to Friday's game. "I'm excited to get back out. I've been with the trainers; we've had some intense treatment going on, but I feel really good."
Royals: C Salvador Perez was held out of the lineup for precautionary reasons with a mild strain of his left thumb. Perez, who missed Wednesday's game against Detroit, hurt the thumb on Tuesday when he lost his grip on the bat during a swing against the Tigers. Manager Ned Yost said Perez could have caught Friday, but swinging would be difficult. Perez was replaced in the lineup by Gallagher.
Orioles RHP Dylan Bundy (7-13, 5.37 ERA) will face another Royals rookie pitcher as RHP Heath Fillmyer (2-1, 4.21) takes the mound for Kansas City. Fillmyer will make his first career start against the Orioles. Bundy is 1-1 with a 5.87 ERA all-time against Kansas City, including one start this year May 8 in Baltimore, in which he gave up seven earned runs without recording an out.
More AP MLB: https://apnews.com/tag/MLB and https://twitter.com/AP-Sports
LeMahieu signing means Yanks out of talks for Machado
Buster Olney joins SportsCenter to explain why the Yankees signing DJ LeMahieu means New York has moved on from pursuing Manny Machado.
Padres moving Wil Myers back to the outfield, may need third baseman
The Padres may be in the market for a third baseman after Wil Myers said Saturday that he's moving back to the outfield. Myers opened last season in the outfield before moving to third base to end the season.
Nolan Arenado doesn't reach deal with Rockies, may still avoid arbitration
Nolan Arenado is expected to receive an arbitration-record $27 million deal from the Rockies, even though the two sides failed to reach a settlement Friday, sources told ESPN.
Russell Martin eyes 'bounce-back year' after trade to Dodgers
The Dodgers, who were looking for help at catcher, have acquired veteran Russell Martin from the Blue Jays in exchange for two minor leaguers.
Does DJ LeMahieu take Yankees out of Manny Machado mix?
The dominoes are falling in the second-base market, with DJ LeMahieu winding up in pinstripes. But New York still could find room for Manny Machado.
DJ LeMahieu agrees to join Yankees on two-year, $24M contract
After seven seasons in Colorado, DJ LeMahieu is heading to the American League after reaching an agreement on a two-year, $24 million contract with the Yankees, sources told ESPN.