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
How is your fantasy baseball team REALLY doing?
Here is a simple six-point checklist to help you make an honest appraisal of where your fantasy baseball roto team is as we hit the one-third mark of the season.
Fantasy baseball: Game-changing pitches
A pitcher often just needs one tweak to discover a new level of performance. Here are some game-changing pitches taking over fantasy baseball.
Mets lose McNeil, struggling Cano to injured list
Robinson Cano, who is hitting .241 with 13 RBIs, has a quad strain, and Mets teammate Jeff McNeil, who is third in the NL with a .333 batting average, has a hamstring strain.
Christian Yelich and reimagining the 'five-tool player' in 2019
He's one of the five best players in baseball. But the Brewers star isn't actually a "five-tool player." Here's how that term is misunderstood -- and why it could use a refresh.
Prospects ready to help their teams win now
Phenoms such as the Braves' Austin Riley are getting the call to help contenders keep pace. Here's what to expect from them.
Indians look to turn around homestand vs. Rays
The Cleveland Indians saw their offense go missing the past three days as they were swept in a home series for the first time in nearly two years.