CLEVELAND -- The Royals' Salvador Perez became the 10th player in major league history to hit 200 home runs as a catcher in Kansas City's 5-3 win over the Cleveland Guardians on Monday night.
Perez hit a two-run shot in the sixth off Logan Allen to put Kansas City ahead 4-0.
He has 240 total home runs in 12 seasons, all with the Royals. Hall of Famer Mike Piazza holds the big league record for homers as a catcher with 396.
"Every time we win and I hit a homer, I feel better," said Perez, who didn't know about the milestone until afterward. "I like to compete every day and do my best."
Perez, an eight-time All-Star and the 2015 World Series MVP with Kansas City, is one of 21 catchers with 500 extra-base hits and has a team-best 17 home runs this season -- tying Atlanta's Sean Murphy for second most among players whose primary position is catcher (the Mets' Francisco Alvarez has 19).
"Everyone knows what a big part of the organization that Salvy is," manager Matt Quatraro said. "And he continues to be one."
Ryan Yarbrough, who carried a shutout into the sixth, won at Cleveland for the second time in 15 days. The left-hander struck out one and didn't issue a walk in his third start since being struck on the face by a liner from Oakland's Ryan Noda on May 7.
"The Guardians are an aggressive team, but don't strike out much, so I tried to put them in positions where they had to swing the bat," Yarbrough said. "I wanted to control what I could control."
Rookie left-hander Allen matched his season highs with seven innings and five runs allowed, striking out five. He allowed two homers for the first time.
"I was trying to go up against Perez, but pulled it down and he put a good swing on it," Allen said. "That's why he is as good as he is. We were really efficient today, but they took advantage of some of those opportunities and jumped on them."
ESPN Stats & Information and The Associated Press contributed to this report.