Kansas City Royals

Salvador Perez ends HR drought as KC Royals hammer Giants: What we learned in SF

Kansas City Royals first baseman and team captain Salvador Perez extends a salute as he rounds the bases after belting a fourth-inning home run against the Giants at Oracle Park in San Francisco on Wednesday, May 21, 2025.
Kansas City Royals first baseman and team captain Salvador Perez extends a salute as he rounds the bases after belting a fourth-inning home run against the Giants at Oracle Park in San Francisco on Wednesday, May 21, 2025. Imagn Images
Key Takeaways
Key Takeaways

AI-generated summary reviewed by our newsroom.

Read our AI Policy.


  • Salvador Perez ended a month-long homer drought with a 397-foot blast.
  • Royals' bullpen held Giants to two runs, securing 11th road win of season.
  • Kansas City's offense belted 16 hits, including 12 singles, in the 8-4 victory.

The Kansas City Royals needed a team effort to secure a series victory over the San Francisco Giants at Oracle Park.

More precisely, they needed their offense to carry the load.

The lineup answered the call as KC earned an 8-4 victory Wednesday to close out this three-game series by the bay. Team captain Salvador Perez led the charge with three hits, including a long-awaited home run (more about that below).

The bullpen took care of the rest.

The Royals improved to 28-23 with their 11th road victory of the season. The Giants committed two errors and fell to 29-21.

Here are some takeaways from the mid-afternoon series finale:

Perez snaps HR drought

It had been more than a month since Perez last circled the bases.

He’d been stuck in a rut of late. He hadn’t displayed the power numbers fans were accustomed to seeing on a regular basis.

Perez entered Wednesday’s game with just two homers in 185 at-bats — and none since April 13 vs. Cleveland. His batting average was a paltry .213, with a .249 on-base percentage and 44 strikeouts.

“I always say, if I prepare myself every day, work hard, do my drills and I give everything that I have that day, I don’t have nothing to worry about,” Perez said. “You guys know it’s not easy and it gets hard. I try to do my adjustments during the game.

“After the last out, if I give everything I have, I don’t miss anything and I play hard, I’m going to go to bed happy and sleep well.”

Perez would no doubt get some good sleep Wednesday night. He entered the game needing a spark in the worst way and found it in the fourth inning against right-handed Giants starting pitcher Logan Webb.

Perez unloaded his frustrations by launching a 397-foot homer over the right-center field wall at Oracle Park.

It was the 276th home run of his career. He’s now just 24 shy of becoming the eighth primary catcher to reach 300 home runs. He ranks fifth all-time for homers by American League catchers.

Perez indicated he didn’t get discouraged during his homer slump. He said he wanted to show his younger teammates how to handle adversity.

“After 14 years, I know how to handle it,” he said. “You guys see me: I’m always happy and bringing energy to my teammates.

“I’m the captain for a reason, so I have to keep that. I’m not going to change to (being) the guy (who), when I hit, I’m happy, and when I don’t hit, I’m going to be mad. It’s not the way I am.”

Royals’ bats come alive

The Royals issued a reminder on Wednesday of just how destructive their offense can be.

KC has been inconsistent at the plate all season. That was a problem again in this series, as the Royals logged a total of just five runs on Monday and Tuesday.

Wednesday was a different story.

Kansas City Royals catcher Salvador Perez (13) runs toward home plate against the San Francisco Giants during the ninth inning at Oracle Park on May 21, 2025 in San Francisco, California, USA.
Kansas City Royals catcher Salvador Perez (13) runs toward home plate against the San Francisco Giants during the ninth inning at Oracle Park on May 21, 2025 in San Francisco, California, USA. Kelley L Cox Imagn Images

The Royals had eclipsed the five-run mark by the fourth inning. They hammered Webb (5-4) early and forced him to work from the stretch. Webb’s day ended with six runs and 10 hits allowed in four innings.

“Regardless of who we had pitching, it’s important (to score runs) against a pitcher like Webb,” Royals manager Matt Quatraro said. “I mean, that guy is one of the elite pitchers in the league for a long time now. To put quality at-bats together on him early in the game and knock him out of there ultimately was huge for our confidence.”

The Royals opened the game with three consecutive singles. Then Vinnie Pasquantino drove in his 29th RBI for a 1-0 KC lead.

The visitors followed a similar formula in the second inning. But this time it was singles by Michael Massey, Kyle Isbel and Maikel Garcia that did the damage.

“We have a great bullpen,” Garcia said. “We believe in them. They did their job and we did our job as an offense. That’s a pretty good game and we need this series to keep going.”

Twelve of the Royals’ 16 hits Wednesday were singles. Perez (homer, double), Bobby Witt Jr. (double) and Drew Waters (double) had the lone extra-base hits. Perez finished 3-for-5.

“He works hard,” Garcia said of Perez. “I know he was struggling, but he keeps going. He doesn’t give up and I’m glad for him that he had a great day today. His confidence is going up and he helped the team win.”

Wednesday’s game marked the first time this year the Royals have racked up 13 or more hits through five innings. Until this series finale, they hadn’t accomplished that feat since Aug. 17, 2024.

Royals’ bullpen ropes Giants

The Royals opted for a bullpen game on Wednesday. As a result, Quatraro turned to left-hander Daniel Lynch IV as his starter for the afternoon matinee.

Lynch issued three walks in 1 2/3 scoreless innings. The silver lining is that he didn’t allow a run and thus navigated the Giants’ lineup unscathed.

Kansas City Royals starting pitcher Daniel Lynch (41) pitches the ball against the San Francisco Giants during the first inning at Oracle Park on May 21, 2025 in San Francisco, California, USA.
Kansas City Royals starting pitcher Daniel Lynch (41) pitches the ball against the San Francisco Giants during the first inning at Oracle Park on May 21, 2025 in San Francisco, California, USA. Kelley L Cox Imagn Images

After Lynch, the Royals turned to a procession of Jonathan Bowlan, Steven Cruz, Taylor Clarke, Angel Zerpa and Lucas Erceg.

They bullpen crew didn’t face much pressure. Their teammates at the plate generated enough run support that members of the relief crew were able to settle comfortably into their roles.

Bowlan picked up the first win of his career.

“It’s very special,” Bowlan said. “Everybody wants that first win. It didn’t quite go as I expected it but, hey, it is what it is. And, I mean, I’m beyond blessed. All the glory to God for being in this opportunity and this point in my life.”

What’s next?

The Royals have a scheduled off-day Thursday before beginning a three-game series against the Twins on Friday at Target Field in Minneapolis.

Rookie left-hander Noah Cameron will be Friday’s starting pitcher for the Royals. He will make his third appearance in a dynamic pitching matchup against Twins ace right-hander Pablo Lopez.

Right-hander Michael Wacha will start Saturday for KC, with left-hander Kris Bubic lined up to start Sunday’s series finale in Minnesota.

This story was originally published May 21, 2025 at 5:42 PM with the headline "Salvador Perez ends HR drought as KC Royals hammer Giants: What we learned in SF."

Jaylon Thompson
The Kansas City Star
Jaylon Thompson covers the Royals for The Kansas City Star. He previously covered the 2021 World Series and the 2016 Summer Olympic Games in Rio de Janeiro, Brazil. Jaylon is a proud alumnus of the University of Georgia.
Get unlimited digital access
#ReadLocal

Try 1 month for $1

CLAIM OFFER