CLEVELAND — Standing in front of his locker after throwing a complete game shutout vs. the Guardians, Cardinals starter Sonny Gray had to take a moment to recall the last time he turned in an outing such as the one he turned in Friday night at Progressive Field.
“It’s been few and far between. I did it a lot earlier in my career, and it’s been a while,” Gray said after blanking Cleveland in a 5-0 win. “It is nice. I hadn’t thought about it. I try not to do too much, but at the same time, it is nice to be able to do that for sure.
“I think I’ve done it here before. It is nice because I hadn’t done it in — has it been 10 years?” Gray asked.
It nearly had.
Pitching from the same mound where he blanked Cleveland across nine innings in 2015 when he was an Oakland Athletic, Gray twirled nine scoreless innings and struck out 11 batters on 89 pitches to give him his first nine-inning complete game since Aug. 7, 2015. The start marked his first complete game shutout since July 28, 2015, and was the seventh complete game of his big-league career.
People are also reading…

The Cardinals’ Pedro Pagés, left, congratulates starting pitcher Sonny Gray after Gray pitched a complete game one-hitter to defeat the Guardians on Friday, June 27, 2025, in Cleveland.
Gray’s other complete game shutout in the 2015 season for Oakland came on July 12, 2015, from Progressive Field. His batterymate that night in Cleveland was current Guardians manager and former teammate Stephen Vogt, as the two were All-Stars for Oakland that season.
“You don’t know if you’ll be able to do it, especially the way the game has kind of gone,” Gray said following the fifth shutout of his career. “Especially with me. I don’t throw over 100 pitches very often. That’s just kind of it is what it is, which is fine. … To be able to go out and throw nine innings and win the first game of a three-city road trip, overall we needed to come out and win.”
Gray, 35, set season highs in innings and strikeouts during an outing that was his longest as a Cardinal. His 11 strikeouts were his most in a Cardinals uniform since he struck out 12 in 6 1/3 innings on April 21, 2024.
The righty carried a perfect game bid through 4 2/3 innings before Nolan Jones broke it up with a two-out single in the fifth. The single by Jones forced Gray to work from the stretch for the first and only time Friday night. Gray retired Gabriel Arias on one pitch to strand Jones at first base.
Only Gray’s second and ninth innings required him to throw more than 10 pitches to get through. He needed 12 in the third and 11 in the ninth, the latter of which was capped by a flyout to left field by Steven Kwan that sealed a win and put the Cardinals (45-38) seven games above .500.
“You look at that and the way he was going through that lineup, he had everything working,” Cardinals manager Oliver Marmol said. “… He was on and he worked really well with (catcher Pedro Pages). That was fun to watch. We haven’t seen that in a while. A lot of fun to watch.”
The complete game shutout was the second by a Cardinals starter this year after Erick Fedde threw a complete game shutout caught by Pages on May 9 in Washington, D.C. The outing marked the fourth time since 1990 that a Cardinals pitcher threw a nine-inning complete game on fewer than 100 pitches.
The most efficient shutouts in Cardinals history
Sonny Gray on Friday threw the fourth 9-inning shutout in Cardinals history of fewer than 90 pitches. Note: Pitch count data is incomplete before the late 1980s.
Player | Pitches | IP | H | R | SO | App,Dec | Date | Opp | Result |
---|---|---|---|---|---|---|---|---|---|
Bob Tewksbury | 79 | 9 | 1 | 0 | 3 | SHO, W | 8/17/1990 | HOU | W, 5-0 |
Adam Wainwright | 88 | 9 | 2 | 0 | 7 | SHO, W | 8/11/2021 | at PIT | W, 4-0 |
Jaime García | 89 | 9 | 3 | 0 | 6 | SHO, W | 8/22/2010 | SFG | W, 9-0 |
Sonny Gray | 89 | 9 | 1 | 0 | 11 | SHO, W | 6/27/2025 | at CLE | W, 5-0 |
Gray received run support in the form of a three-run third inning that included a solo homer by Pages and a two-run homer by Alec Burleson. Nolan Arenado contributed with two RBIs. One run plated by Arenado came on a double in the sixth inning. The other scored on a single from Arenado in the eighth inning.
Pages’s homer snapped a stretch of 24 consecutive scoreless innings by the Cardinals.
“I just liked our approach. We took some good swings,” Marmol said.
Gray had 12 of his 23 sweepers land for a called strike or lead to a swing-and-miss. Despite getting one whiff on his curveball, he landed it 10 times for a called strike as he prevented hard contact and induced six groundouts.
Of the 11 strikeouts Gray recorded, four came consecutively between the second and third innings. Seven of the eleven strikeouts were completed on four or fewer pitches.
Gray’s quick work began with retiring the first two batters he faced in the first inning on three pitches and followed that with a five-pitch strikeout of Kyle Manzardo. Gray felt fine with Jones’s single in the fifth inning that broke up the perfect game bid considering the pitch he threw — a 1-2 sweeper below the strike zone — was a “good pitch.”
To Gray, the outing felt as if he was “moving right along” and the innings were “just going and going and going” as Guardians hitters stuck to their aggressive approach against him. Near the middle innings, Gray felt “mixed up” on how many frames he was through, but “tried not to think about it” as his strong outing continued to build.
“I didn’t know if I was through five or if I was through six, and I just kind of was like, whatever. It doesn’t matter,” Gray said. “Just go out there and go throw. I kind of wasn’t following along that way. I did know when I was going out for the ninth, but I felt like it was just another inning, which was nice. ... Overall, it was just a very well-rounded team performance. We jumped on them early. We were able to keep them off and hold them down. It was a nice game.”
ӣƵ Cardinals starting pitcher Erick Fedde speaks with the media on Wednesday, June 25, 2025, after a loss to the Cubs at Busch Stadium in ӣƵ. (Video by Ethan Erickson, Post-Dispatch)
Cardinals 5, Guardians 0
ӣƵ AB R H BI BB SO Avg.
Donovan 2b 4 0 1 0 1 0 .300
Winn ss 4 1 0 0 0 1 .253
Burleson rf 4 2 2 2 0 1 .300
Hampson rf 0 0 0 0 0 0 .167
Contreras 1b 3 1 1 0 1 0 .246
Nootbaar lf 3 0 0 0 1 0 .228
Arenado 3b 4 0 2 2 0 0 .246
Gorman dh 4 0 0 0 0 2 .217
Pagés c 4 1 1 1 0 1 .218
Scott cf 4 0 0 0 0 3 .235
Totals 34 5 7 5 3 8
Cleveland AB R H BI BB SO Avg.
Kwan lf 4 0 0 0 0 0 .302
Thomas cf 3 0 0 0 0 2 .168
Manzardo 1b 3 0 0 0 0 2 .219
Fry dh 3 0 0 0 0 1 .150
Schneemnn 3b 3 0 0 0 0 1 .230
Jones rf 3 0 1 0 0 1 .213
Arias ss 3 0 0 0 0 1 .227
Naylor c 3 0 0 0 0 2 .168
Martínez 2b 3 0 0 0 0 1 .234
Totals 28 0 1 0 0 11
ӣƵ 003 001 010 — 5 7 0
Cleveland 000 000 000 — 0 1 2
E: Ortiz 2 (4). LOB: ӣƵ 5, Cleveland 1. 2B: Burleson (13), Arenado (12). HR: Pagés (6), off Ortiz; Burleson (10), off Ortiz. RBIs: Pagés (23), Burleson 2 (35), Arenado 2 (41). DP: Cleveland 1.
ӣƵ IP H R ER BB SO ERA
Gray, W, 8-2 9 1 0 0 0 11 3.36
Cleveland IP H R ER BB SO ERA
Ortiz, L, 4-9 7 6 4 4 1 5 4.36
Junis 1 1 1 1 2 1 4.08
Sabrowski 1 0 0 0 0 2 0.00
T: 2:11. Att.: 34,787.