Sweep Complete: Flores' Late Blast Lifts Pirates Past Royals 4-3

Rafael Flores Jr. delivered a go-ahead two-run homer in the eighth inning, Oneil Cruz reached the 20-homer mark and Mason Montgomery survived a tense ninth as the Pirates completed a three-game sweep of Kansas City.

September 20, 2026

PITTSBURGH — Friday was a comeback.

Saturday was another comeback.

Sunday?

Somehow, the Pirates did it again.

For the second consecutive afternoon, Pittsburgh entered the eighth inning trailing the Kansas City Royals.

And for the second consecutive afternoon, one swing changed everything.

This time it belonged to Rafael Flores Jr.

Flores launched a go-ahead two-run home run into the left-field bleachers in the bottom of the eighth, turning a 3-2 deficit into a 4-3 lead and sending the Pirates to their fourth consecutive victory.

Pirates 4. Royals 3.

Sweep complete.

Pittsburgh is now 79-77.

Six games remain.

And suddenly, that first winning season since 2018 isn't some distant goal.

It's right there.

Kansas City Strikes First

Pittsburgh went with a bullpen game Sunday, handing the baseball to Lake Bachar to begin the afternoon.

The Royals didn't waste much time.

Bobby Witt Jr., Jac Caglianone and Salvador Perez opened the game with three consecutive singles.

Perez's hit through the middle scored Witt and gave Kansas City a 1-0 lead.

But Bachar avoided further damage.

That became important.

On a day when neither offense produced much early, keeping the deficit at one gave Pittsburgh time to find an answer.

Oneil Cruz Makes History

The answer finally came in the fourth.

Oneil Cruz stepped in against Royals starter Michael Wacha and got a curveball in the middle of the zone.

He didn't miss it.

Cruz drove the pitch over the center-field wall for a solo home run.

Tie game. 1-1.

The homer was Cruz's 20th of the season.

It also gave him another impressive piece of Pirates history.

Cruz became just the third player in franchise history to record at least 20 home runs and 20 stolen bases in three different seasons.

For a player whose season has had plenty of ups and downs, reaching that milestone is another reminder of just how dynamic Cruz can be when everything comes together.

Bryan Reynolds Saves a Run

The game remained tied into the sixth.

Kansas City threatened to change that.

With the Royals looking for a big hit, Bryan Reynolds made one of the biggest defensive plays of the afternoon.

Reynolds raced in and made a diving catch on a sinking liner from Jac Caglianone.

It wasn't a home run.

It didn't show up in the RBI column.

But it mattered.

In a one-run game, saving one can be just as important as driving one in.

Horwitz Gives Pittsburgh the Lead

The Pirates finally moved in front in the bottom of the sixth.

Ryan O'Hearn reached base and eventually found himself in scoring position.

With two outs, Spencer Horwitz dropped a bloop single into shallow center field.

O'Hearn scored.

Pirates 2. Royals 1.

Pittsburgh had the lead.

Considering how well the Pirates had been closing games lately, it felt like it might be enough.

It wasn't.

Pasquantino Flips the Game

Kansas City answered in the seventh.

Carmen Mlodzinski had provided valuable innings out of Pittsburgh's bullpen, but the Royals finally got to him.

With two outs and a runner aboard, Kansas City sent Vinnie Pasquantino to the plate as a pinch hitter.

Pasquantino launched a two-run home run to right field.

Royals 3. Pirates 2.

Just like that, Pittsburgh's lead was gone.

Six outs remained.

The Pirates needed another late rally.

Apparently, that's becoming their specialty.

Rafael Flores Jr. Delivers

Saturday night, it was Brandon Lowe.

Sunday afternoon, it was Rafael Flores Jr.

Ryan O'Hearn opened the bottom of the eighth with a single to center.

That brought Flores to the plate against Royals reliever Nate Pearson.

Pearson threw him a slider.

Flores crushed it.

The ball sailed into the left-field bleachers.

O'Hearn scored.

Flores scored.

Pirates 4. Royals 3.

PNC Park erupted.

Flores rounded the bases after hitting his 10th home run of the season.

And for the second straight game, the Pirates had erased a late deficit with a two-run homer in the eighth inning.

Two Days. Two Eighth-Inning Heroes.

You couldn't script this much better.

Saturday:

Pirates trail 5-4 in the eighth.

Brandon Lowe hits a two-run homer.

Pirates win 6-5.

Sunday:

Pirates trail 3-2 in the eighth.

Rafael Flores Jr. hits a two-run homer.

Pirates win 4-3.

Same inning. Same type of swing. Same result.

For a team that spent so much of the season struggling to deliver the big hit, the Pirates suddenly can't stop finding them.

Montgomery Makes Everyone Sweat

Of course, it couldn't be easy.

Mason Montgomery came on for the ninth looking for his 16th save.

He retired the first two hitters.

One out away.

Then Luke Maile doubled.

Jake Mangum committed a fielding error that allowed Maile to reach third.

Suddenly, the tying run was 90 feet away.

Montgomery had no margin for error.

He didn't need any.

Isaac Collins lifted a fly ball to right.

Caught.

Ballgame.

Montgomery earned his 16th save.

More importantly, his scoreless streak survived another day.

FINAL
Kansas City Royals 3   |   Pittsburgh Pirates 4

Steel Tahn Sports Player of the Game

Rafael Flores Jr.

Go-Ahead Two-Run HR | 10th HR of the Season

Pittsburgh was six outs away from seeing its winning streak end.

Flores changed that with one swing.

His two-run homer in the eighth erased a 3-2 deficit, gave the Pirates the lead and ultimately completed a three-game sweep. It doesn't get much more clutch than that.

Turning Point

Rafael Flores Jr.'s two-run homer in the eighth.

After Pasquantino's pinch-hit homer put Kansas City ahead in the seventh, Pittsburgh needed another comeback. Ryan O'Hearn opened the eighth with a single, and Flores hammered a slider into the left-field bleachers to turn a 3-2 deficit into the eventual 4-3 final.

Don't Overlook Carmen Mlodzinski

The home run he allowed to Pasquantino will get attention.

But Mlodzinski played a major role in making this win possible.

With Pittsburgh piecing together a bullpen game, Mlodzinski gave the Pirates three innings.

He allowed two runs on three hits.

And because Flores put Pittsburgh back ahead in the eighth, Mlodzinski earned the victory.

He improved to 8-7.

On a day without a traditional starter, eating those innings mattered.

The Sweep

This wasn't a series Pittsburgh simply won.

The Pirates took all three.

Friday: Pirates 8, Royals 5.

Pittsburgh erased a four-run deficit and returned to .500.

Saturday: Pirates 6, Royals 5.

Brandon Lowe hit a go-ahead two-run homer in the eighth and moved Pittsburgh above .500.

Sunday: Pirates 4, Royals 3.

Flores hit another go-ahead two-run homer in the eighth.

Three games.

Three wins.

Two dramatic late comebacks.

One sweep.

14 Wins in 20 Games

This isn't just one good weekend anymore.

The Pirates are playing legitimately good baseball.

Pittsburgh has now won 14 of its last 20 games.

The Pirates have won four straight.

They swept Kansas City.

They won the season series against Milwaukee.

And after spending much of the summer well below .500, Pittsburgh now sits two games over it.

79-77.

Oneil Cruz Joins Rare Company

Flores provided the biggest swing.

But Cruz reached an important milestone of his own.

His fourth-inning homer gave him 20 home runs for the season.

Combined with his work on the bases, Cruz has now produced at least 20 homers and 20 stolen bases in three different seasons.

Only two other players in Pirates history have accomplished that feat three times.

That's impressive company.

And after some frustrating stretches earlier this season, Cruz is finishing 2026 by reminding everyone just how rare his combination of power and athleticism really is.

Three Wins Away

Remember when the goal was simply getting back to .500?

That's already done.

Pittsburgh is now 79-77.

Six games remain.

The Pirates need just three more victories to guarantee an 82-win season.

Three.

That's all that separates Pittsburgh from its first winning season since 2018.

A 2-4 finish would leave the Pirates at 81-81.

A 3-3 finish gets them to 82-80.

And after winning 14 of their last 20?

Finishing above .500 suddenly feels very attainable.

The Bigger Picture

Pittsburgh isn't going to the postseason.

That remains disappointing.

But look at what has happened during this September push.

Konnor Griffin has emerged.

Rafael Flores Jr. is delivering big hits.

Oneil Cruz is finishing strong.

Brandon Lowe has become one of the most dangerous hitters in the lineup.

Mason Montgomery has taken control of the ninth inning.

And the Pirates are finding ways to win games they probably would have lost earlier in the season.

That's progress.

The question now is whether they can carry it through the final week and, more importantly, into 2027.

The Bottom Line

Friday, the Pirates came from four runs down.

Saturday, Brandon Lowe saved them in the eighth.

Sunday, Rafael Flores Jr. did the same thing.

Three games.

Three wins.

Pirates 4. Royals 3.

79-77.

Four straight wins.

Fourteen wins in their last 20 games.

And only three more victories needed to guarantee something Pittsburgh hasn't seen since 2018.

A winning Pirates season.

Six games remain.

Finish it.