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
Buster's Buzz: Red Sox repeat? Four question marks facing the champs
From health to hangovers, Boston still must find a few answers in its quest for a second straight ring.
Yankees sign reliever who criticized Babe Ruth
Mike Golic finds it comical that the Yankees signed reliever Adam Ottavino who previously stated he would "strike out Babe Ruth every time."
Mariano Rivera, Lee Smith and what makes a Hall of Fame closer
One is a first-ballot lock. The other a last-chance inductee. Here's what Cooperstown's 2019 ninth-inning stars tell us about Hall standards for the position.
Kris Bryant: 'Not good' that stars Bryce Harper, Manny Machado remain unsigned
Kris Bryant and Evan Longoria expressed frustration that several free agents, including stars Bryce Harper and Manny Machado, are still looking for jobs as February nears.
Red Sox manager Alex Cora may reconsider decision to visit White House
Red Sox manager Alex Cora, a Puerto Rico native who has been outspoken about its need for hurricane relief, indicated on Thursday that he may skip the World Series celebration at the White House over President Trump's policies toward the island.
Forget Babe Ruth, Yankees get the guy who could strike him out
Adding Adam Ottavino -- who boasted he'd whiff the Bambino "every time" -- gives the Bombers the best bullpen in the universe.