
Cardinals pitcher Sonny Gray throws a pitch during a game against the Pirates on Wednesday, May 7, 2025, at Busch Stadium.
On the walk in from the bullpen after the warmup Wednesday afternoon at Busch Stadium, Cardinals starter Sonny Gray leaned in toward catcher Pedro Pages’ shoulder to get close and spoke as directly as he was about to pitch.
“Aggressive,†Gray said. “Aggressive 0-0. We’re going aggressive, right through the middle of the zone. Aggressive.â€
With an emphasis on a mentality that the Cardinals pitching staff aims to maintain as a mantra, Gray swarmed the Pittsburgh Pirates with strikes for seven shutout innings and shoved the Cardinals to a 5-0 victory and a series sweep. Gray got ahead in the count with his first pitch of the game, and he kept pressing for eight strikeouts and five first-pitch outs.
Take Gray in a pinch and a dash or two of Victor Scott II, who scored twice from first on base hits, and that’s the recipe for the first three-game sweep of the Bucs at Busch since 2019 and a five-game winning streak, the Cardinals’ longest since July 2023.
People are also reading…
Gray used the same word after his start that he whispered before it.
“It was about staying aggressive and getting ahead and attacking guys,†Gray said. “I may have gotten away from that a little bit. But that is when I’m at my best — when I’m constantly on the attack, coming at guys early, and trying to force contact and force their hand early. Tried to get back to that a little bit. ... It’s just a mindset.â€
The Cardinals roll into a nine-game road trip tied with the Dodgers for the most wins at home (15), and they also have the second-fewest wins on the road (four). The winning streak that started with a doubleheader sweep of the Mets and continued with a series sweep of the Pirates hoisted the Cardinals (19-19) back to .500 for the first time since April 16.
“To get back to that number is good for us,†Gray said. “It’s something that we needed to do for our own psyche.â€
The psyche he took to the mound Wednesday the starter traced back to a meeting earlier in the week as a pitching staff. At the beginning of the series against Pittsburgh, pitching coach Dusty Blake highlighted some statistics to stress the reward for executing strike one in a 0-0 count and how advantageous that moment is, right there, to a pitcher. He took around 700 pitches the Cardinals have thrown in the zone on the first pitch of a plate appearance and checked the results.
He found 6% of the time there was a hit of any kind and a hit for damage even fewer.
“Almost 94 times out of 100, it’s gone our way for 700 pitches,†Blake told the Post-Dispatch on Wednesday evening. “It’s either 0-1 (or) we’ve gotten an out going into this series. Being very committed to knowing we’re really good if we can get to 0-1, and it’s not only when it’s convenient or when we’ve got the bottom of the lineup or when they don’t have anybody on base.â€
This past season, the Cardinals bullpen led the majors in first-pitch strikes and, by doing so, helped closer Ryan Helsley set a club record for saves and a club’s record outplay its run differential. Blake wanted to urge the group to recommit that goal as a group.
The reminder resonated with Gray.
“Anything you decide to throw in the 0-0 count, just trust it, commit to it in the zone and go from there,†Gray said.
And he revisited that approach with Blake and Pages early Wednesday as they met to prepare for the game and the Pirates lineup.
“When he’s great, it’s because he’s challenging guys out of the gate,†Blake said.
Gray (4-1) struck out the first batter he faced and retired 10 of the first 11 Pirates batters. He got through the first three innings on 31 pitches. That gave him the efficiency to go with the effectiveness to get through seven shutout innings for the second time this season. He got ahead in the count 18 times to 25 batters. And Gray was able to get ahead routinely with a variety of pitches, landing six different pitches for called strikes. Pages said the “aggressive†mindset didn’t change the pitches called, but he did set a target for 0-0 pitches over the plate instead of to the edges.
A catcher’s interference call and a walk put two runners on base for the first and only time against Gray in the fourth inning. He landed a curveball for a first-pitch strike in an at-bat that ended with a popup to bring Ke’Bryan Hayes to the plate with two on and two out.
Gray fell behind with a breaking ball before firing three sinkers.
Each more assertive, more aggressive than the previous one.
Gray caught Hayes looking at the swiftest pitch of his game, at 94.7 mph.
“I had good energy, and I felt physically OK, and I got him to the 1-2 count,†Gray said. “Then I just committed to a quality sinker away. I had a good inclination that he was going to be sitting spin. I’ve done that to him a lot. It’s kind of what I do. ... I knew he was taking on that pitch in particular. Now just let it rip and trust it in the zone.â€
By then, the Cardinals had a 3-0 lead ignited by Scott’s speed and his ability to be in scoring position the moment he takes a lead off first base.

Cardinals outfielder Jordan Walker celebrates after hitting a single, driving in Brendan Donovan and Luken Baker during a game against the Pirates on Wednesday, May 7, 2025, at Busch Stadium.
Scott drew a one-out walk in the third, and as he attempted to steal second, leadoff hitter Lars Nootbaar laced a single to the right-center gap. Scott paused to make sure the line drive cleared the infield — and then dashed home. Nootbaar scored on the first of Masyn Winn’s two RBI doubles to double the lead. In the fifth, as Gray continued to spinning zeroes in the top of the innings, Scott led off the bottom with a single. He scored from first on Winn’s double that did not get past Pirates left fielder Tommy Pham. His slide home left streaks across the plate that lasted for another inning or so — like contrails.
“He might be the fastest baseball player I’ve seen in person,†outfielder Jordan Walker said, adding later: “I see him take off from first and.â€
Walker snapped his fingers.
“... he’s already at second.â€
Walker broke his 0-for-13 slide with a two-run single up the middle to increase the Cardinals’ lead in the eighth and set the final score. The hit had ripple effects that set the Cardinals up for the weekend series in Washington. If the lead remained 3-0, closer Helsley is in the game. At 4-0, manager Oliver Marmol planned to go to setup man Phil Maton. With Walker’s two RBIs and a five-run lead, neither of the high-leverage right-handers appeared in the game. The break Walker’s hit assured for the relievers before a long road trip began with Gray pitching like he told Pages he would.
“Incredible outing. Had everything working for him. Landed all of his pitches. Got ahead of guys,†Marmol said. “Was in complete control the entire time.â€
Even before he threw a pitch.
Photos: Cardinals sweep Pirates

ÃÛÑ¿´«Ã½ Cardinals outfielder Victor Scott II slides back to first after a play from the Pirates' pitcher during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals outfielder Victor Scott II's helmet begins to fall off as he slides into home plate, scoring a run during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals outfielder Jordan Walker shakes his head as he walks to the dugout after striking out during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals pitcher Sonny Gray wipes sweat from his forehead after a walk during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals infielder Masyn Winn celebrates after hitting a double and batting in outfielder Lars Nootbaar during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals infielder Willson Contreras flips his bat after getting walked during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals infielder Nolan Gorman gets out at second by Pirates infielder Adam Frazier during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals outfielder Victor Scott II is congratulated in the dugout after scoring the first run during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

Cardinals pitcher Sonny Gray throws a pitch during a game against the Pirates on Wednesday, May 7, 2025, at Busch Stadium.

ÃÛÑ¿´«Ã½ Cardinals outfielder Victor Scott II lays on home plate after jumping and sliding into home plate to score the first run during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals outfielder Lars Nootbaar watches a hit by Masyn Winn before running home to score a run during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals catcher Pedro Pages drops the ball during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

Cardinals outfielder Victor Scott II scores the game’s first run sliding into home from first base on a base hit against the Pirates on Wednesday, May 7, 2025, at Busch Stadium.

ÃÛÑ¿´«Ã½ Cardinals outfield Lars Nootbaar celebrates getting to first with bird flapping in the first inning during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals pitcher Sonny Gray throws a pitch in the first inning during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

Cardinals first baseman Willson Contreras gets Pirates outfielder Ryan Reynolds out at first during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals infielder Masyn Winn catches a pop fly during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals infielder/outfielder Brendan Donovan runs to first base before lining out in the first inning during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals infielder Brendan Donovan singles in the eighth inning during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals infielder Brendan Donovan throws the ball to first base to get a batter out during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals pitcher Chris Roycroft throws a pitch in the ninth inning during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals outfielder Lars Nootbaar catches a fly ball to record an out in the eighth inning during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals pitcher Kyle Leahy pitches in the eighth inning during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals catcher Pedro Pages and pitcher Kyle Leahy talk after two runners get on base during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

Cardinals outfielder Jordan Walker celebrates after hitting a single, driving in Brendan Donovan and Luken Baker during a game against the Pirates on Wednesday, May 7, 2025, at Busch Stadium.

ÃÛÑ¿´«Ã½ Cardinals outfielder Victor Scott II catches a hit during the eighth inning during the ÃÛÑ¿´«Ã½ Cardinals vs Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025.

ÃÛÑ¿´«Ã½ Cardinals infielders Willson Contreras and Nolan Gorman hug after Gorman threw a ground out from third to Contreras at first, ending the game between the ÃÛÑ¿´«Ã½ Cardinals and Pittsburgh Pirates game at Busch Stadium in ÃÛÑ¿´«Ã½ on Wednesday, May 7, 2025. The Cardinals completed their sweep with a score of 5-0.