KANSAS CITY, Mo. (AP) Jonathan Heasley allowed one hit in a career-best seven sharp innings, Salvador Perez and MJ Melendez each homered and drove in three runs and the Kansas City Royals defeated the Baltimore Orioles 8-1 on Friday night for their third straight win.

Michael A. Taylor also homered for Kansas City, which had a season-high eight extra-base hits - the Royals' most in a game since April 2, 2021, against Texas.

''Talk about how you have to feel it, see it and all the pieces have to come together,'' manager Mike Matheny said. ''The extra-base hits, the situational hitting, good baserunning and good defense and our starter doing what he did today.''

Heasley (1-3) had the best start of his young career, allowing just one baserunner and struck out seven. He became the fifth Royals player - and first since 1992 - to pitch seven innings and allow one hit or fewer with no walks.

''I think the biggest thing is that I was on the attack from the get-go,'' Heasley said. ''I felt like I've been throwing well recently, but I feel like I've gotten more confident every time and trust the defense behind me.''

It was the opposite for Bruce Zimmermann (2-5), who gave up a career-high seven earned runs in 4 ? innings while allowing 10 hits and striking out two.

''I thought he got hurt again today with his off-speed stuff,'' manager Brandon Hyde said. ''For me, it was a lot of elevated off-speed in the first and then just hung a bad slider to Melendez.''

Perez and Melendez dazzled with their bats and gloves. Perez homered in the first inning with a 436-foot blast that nearly hit Crown Vision.

''I hit it pretty good,'' Perez said with a smile. ''I stayed back and got ahead in the count.''

Then, the five-time Gold Glove catcher showed off his defensive prowess in the third inning by fielding a bunt to his left, twirling and throwing out the speedy Cedric Mullins at first.

''It was a great bunt,'' Perez said. ''I'm just going to do my best to help my pitcher. I try to do my job and that was a great play.''

In the fifth inning, Melendez made a diving catch in right field and followed that up with a 425-foot three-run homer in his next at-bat to give the Royals a 7-0 lead. Kansas City has scored at least seven runs in three straight games for the first time since September 2019.

''I knew he was going to try and get me to chase something and left it over the plate,'' Melendez said. ''When the ball was hit (on the diving catch), I saw the ball and kind of lost it for a second and just stayed with it.''

Anthony Santander homered off Albert Abreu in the ninth inning for Baltimore to end Kansas City's shutout bid.

ROSTER MOVES

Royals: LHP Angel Zerpa was recalled from Northwest Arkansas and RHP Collin Snider was optioned to Triple-A.

TRAINER'S ROOM

Royals: RHP Zack Greinke (right flexor strain) will start a rehab assignment Sunday in Omaha. OF Edward Olivares (right quad strain) started a rehab assignment in Triple-A.

UP NEXT

Baltimore sends RHP Tyler Wells (2-4, 3.78 ERA) to the mound on Saturday against LHP Daniel Lynch (2-5, 5.36 ERA).

---

More AP MLB: https://apnews.com/hub/mlb and https://twitter.com/AP-Sports

Copyright 2024 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.