Royals Edge Cardinals in Thriller as Caglianone’s Bat Carries KC

The Kansas City Royals scraped together just enough offense to edge the St. Louis Cardinals 6-5 on Friday night at Kauffman Stadium, in a game that showcased everything right and wrong about both clubs. Seth Lugo pitched six solid innings to pick up the win, while the Royals’ defense and timely hitting made the difference when it mattered most. This wasn’t a masterclass in baseball, but it was vintage Royals: grinding, opportunistic, and just smart enough to win close games.

Pitching Decisions

6.0IP5H1ER3BB0K
0.1IP1H0ER0BB0K

Star Performers

Iván Herrera

Season AVG: .259
2AB1H0HR1RBI1R2BB
Jac Caglianone

Season AVG: .270
4AB2H1HR2RBI2R0BB

The Cardinals Couldn’t Capitalize on Early Chances

Jac Caglianone's 10th homer leads Royals' win

St. Louis struck first with a Jordan Walker sacrifice fly in the top of the first that plated Ivan Herrera, but that early advantage proved meaningless. The Cardinals scratched out another run in the third on an Herrera single, then proceeded to do absolutely nothing with their opportunities for the remainder of the evening. Michael McGreevy‘s performance was shaky from the start. five innings, eight hits, five earned runs, and the kind of control issues that make managers reach for the bullpen phone. The offense generated just two runs on six hits, which tells you everything you need to know about St. Louis’ inability to execute in the clutch.

Iván Herrera's RBI single 

By the time Blaze Jordan’s two-run single brought the Cardinals within one in the ninth inning, the damage was already done. The Royals had methodically built their lead, and despite a late rally powered by Masyn Winn’s RBI double, the Cardinals came up one run short. For a team that should be competing for playoff positioning, this was a frustrating loss of the self-inflicted variety.

Caglianone and Royals Take Command When It Counts

Condensed Game: STL@KC – 6/19/26

If there was a star on Friday night, it was Jac Caglianone. The Royals’ slugger went 2-for-4 with a solo homer in the fifth inning, the kind of timely power surge that swings close games. His early single in the fourth scored Lane Thomas and got the snowball rolling downhill for Kansas City. When Caglianone’s tenth homer of the season sailed into left field in the fifth, it represented the go-ahead run, and the Royals never relinquished the lead after that moment.

Blaze Jordan's two-run single 

The fourth inning was the killing blow for St. Louis. Isaac Collins uncorked a two-run double that plated both Massey and Rave after Michael Massey’s single had already driven in one. Suddenly, the Royals had a 5-1 lead, and McGreevy’s night was effectively over, even though he stayed on the mound. That explosive fourth inning, followed by Tyler Tolbert’s sacrifice fly in the sixth, proved to be the cushion Kansas City needed to hold off a desperate ninth-inning surge from the Cardinals.

Isaac Collins' two-run double 

Seth Lugo, by contrast, was everything McGreevy wasn’t: economical, efficient, and in control. Zero strikeouts is usually a red flag for a pitcher, but Lugo’s six innings of one-run ball while scattering five hits showed command and poise. Alex Lange came in for the save opportunity and executed cleanly, though a 0.1 inning save is more about Lugo’s workload management than anything else.

Alex Lange secures save with ground out

This was a game the Cardinals should have won, and a game the Royals had no business winning. Yet here we are on Friday night in Kansas City, with the Royals notching a critical victory and the Cardinals heading home wondering how they let this one get away. In baseball, sometimes that’s all that separates winners from losers: the ability to scrape and claw your way to one more run than the other guy.

Box Score

St. Louis Cardinals Batting

Player AB R H RBI BB SO AVG
JJ Wetherholt 2B 4 0 0 0 0 0 .262
Iván Herrera C 2 1 1 1 2 0 .259
Alec Burleson 1B 4 0 1 0 0 0 .281
Jordan Walker RF 3 0 2 1 0 0 .295
Lars Nootbaar LF 4 1 1 0 0 0 .267
Masyn Winn SS 4 1 1 1 0 1 .242
Jimmy Crooks DH 3 0 0 0 0 0 .167
Nelson Velázquez PH 0 1 0 0 1 0 .323
Blaze Jordan 3B 4 0 1 2 0 0 .300
Bryan Torres PR 0 0 0 0 0 0 .238
Nathan Church CF 1 1 1 0 1 0 .263
José Fermín CF 2 0 0 0 0 0 .267

St. Louis Cardinals Pitching

Pitcher IP H R ER BB SO ERA
Michael McGreevy (L) 5.0 8 5 5 1 2 3.35
George Soriano 1.0 1 1 1 1 0 3.16
Matt Svanson 2.0 0 0 0 1 1 6.68

Kansas City Royals Batting

Player AB R H RBI BB SO AVG
Carter Jensen C 4 0 1 0 0 0 .238
Lane Thomas CF 4 1 1 0 0 0 .232
Jac Caglianone 1B 4 2 2 2 0 1 .270
Salvador Perez DH 4 0 1 0 0 0 .208
Michael Massey 2B 4 1 1 1 0 1 .256
Nick Loftin 3B 3 1 0 0 1 1 .239
John Rave RF 2 1 1 0 2 0 .500
Isaac Collins LF 4 0 2 2 0 0 .230
Tyler Tolbert SS 2 0 0 1 0 0 .190

Kansas City Royals Pitching

Pitcher IP H R ER BB SO ERA
Seth Lugo (W) 6.0 5 2 1 3 0 3.69
John Schreiber 1.0 0 0 0 0 1 2.64
Daniel Lynch IV 1.0 0 0 0 0 0 2.53
Matt Strahm 0.2 2 3 3 1 0 6.75
Alex Lange (SV) 0.1 1 0 0 0 0 3.97