ST. LOUIS -- Everything was working for Yovani Gallardo. Even his fashion sense.
The right-hander was the second pitcher to flirt with a no-hitter at Busch Stadium in as many days. He allowed only a single to start the eighth inning in a performance that busted two slumps in the Milwaukee Brewers' 4-0 victory over the St. Louis Cardinals on Saturday.
"His stuff was just nasty," catcher Jonathan Lucroy said. "It's who he is, it's what he does."
Gallardo displayed stirrups for the first time, stealing a shorter pair of pants out of teammate Marco Estrada's locker, and said "Marco's not getting his pants back."
Gallardo (3-2) left after eight innings, the lone blemish Daniel Descalso's solid single up the middle on a 1-1 count. The Brewers' opening day starter entered the game with 53 hits allowed, tops in the major leagues, and ended a string of five poor outings in which he was 1-2 with an 8.89 ERA.
"That's pretty dramatic. That's Yo," manager Ron Roenicke said. "The other starts, I think that wasn't Yo. I think he just got back on-line again."
Gallardo said he succeeded by moving the fastball around, getting groundball outs to end innings, commanding a slider especially against left-handed hitters and keeping the ball down. Just like Jaime Garcia, who carried a perfect game into the eighth Friday and ended with a one-hitter, Gallardo was aware of the circumstances.
"A pitcher tells you they're not thinking about it, it's not true. I was definitely thinking about it," Gallardo said. "Of course, it would have been great to have achieved that."
It was almost as great just to get a win.
John Axford worked a perfect ninth for the Brewers, who were outscored 37-7 and shut out three times during a seven-game losing streak. Roenicke canceled batting practice Saturday in hopes of shaking up the offense.
"This week," Gallardo said, "was tough for all of us."
St. Louis' Kyle Lohse (4-2) couldn't quite match Gallardo, allowing a run and six hits in eight innings in a return to form. The right-hander had a 22-inning scoreless streak ended in his last appearance, and didn't allow a runner in scoring position his last four innings.
Light-hitting Carlos Gomez gave the Brewers breathing room in the ninth with a two-run triple off Jason Motte that sailed over the head of right fielder Lance Berkman, then scored on pinch-hitter Yuniesky Betancourt's sacrifice fly. Gomez, Milwaukee's eighth-place hitter, also doubled after entering in a 3-for-23 slump.
Motte had replaced Mitchell Boggs, who was yanked after throwing a wild pitch that made it a 1-1 count against Gomez, and Gomez's hit came on a 2-2 count.
"[Boggs] had a short leash today," manager Tony La Russa said. "He's a sinkerball pitcher and he's getting the ball up. Just looked like he was really hyped."
Gallardo retired the first 13 batters in order before walking Berkman on a full count with one out in the fifth, and threw three more full-count walks before giving up Descalso's hit. He had been 0-4 with a 5.63 ERA in seven career starts against St. Louis.
"I was trying to get on base anyway I could," Descalso said. "The pressure was on that guy."
Lohse needed an extra out to escape a bases-loaded jam in the second after shortstop Tyler Greene inexplicably went for a forceout at second instead of going to first on Gallardo's two-out grounder, and Gomez hustled into second. Rickie Weeks struck out to end that threat.
Greene bunted foul three times in the eighth, the first on a 3-0 count.
"It was just some good pitches, that slider-cutter that he throws. I've just got to get it down and I didn't," Greene said.
Prince Fielder scored from first on Casey McGehee's two-out double in the third. The Brewers had two hits in the eighth but neither made it past first after Weeks got a leadoff single and then was easily caught stealing on a pitchout.
Gallardo was helped early by two exceptional defensive plays. Gomez made a leaping catch at the center field wall to prevent extra bases for Colby Rasmus in the first, and right fielder Mark Kotsay saved two runs with a running catch near the line and warning track that robbed Greene of extra bases to end the fifth.
The Brewers' last one-hitter was by CC Sabathia on Aug. 31, 2008, at Pittsburgh. The franchise has only one no-hitter, by Juan Nieves in 1987, at Baltimore. ... The Cardinals were shut out for the first time, leaving only Arizona which hasn't been blanked. ... Cardinals regular SS Ryan Theriot did not play a day after leaving in the fourth with a bruised left shin where he was hit by a pitch. Theriot had been optimistic Friday night but La Russa said he'd rather not push it. ... Garcia has an 0.39 ERA at home after throwing a two-hit shutout Friday.
Machado's grand slam sends Padres over Dodgers, 6-2
Manny Machado slugged a grand slam after two consecutive errors by the Dodgers in the third inning, Garrett Richards won for the first time in two years, and the San Diego Padres defeated Los Angeles 6-2 on Tuesday night.
How Dylan Bundy changed his fantasy baseball prowess
Changing teams isn't the only reason the former No. 4 overall draft pick has excelled on the mound this season. Here's why he looks like a new pitcher for 2020.
Kings' Vivek Ranadive thinks voting should be 'as easy as ordering an Uber'
Kings owner Vivek Ranadive thinks the American voting system is in need of an overhaul in the digital era. "Let's make voting as easy as ordering an Uber," Ranadive told ESPN.
Heading in opposite directions, Rays and Red Sox meet again
The Tampa Bay Rays will be seeking their fifth straight win when they meet the Red Sox Wednesday night in Boston.
Twins look to Maeda to turn tide vs. Brewers
The Minnesota Twins will turn to right-hander Kenta Maeda to try win the rubber game of their three-game series at Milwaukee on Wednesday night and end what has been a disappointing road trip on a high note.
Hitting .400 in 2020 might draw an asterisk, but Colorado Rockies' Charlie Blackmon could earn it
As hard as it is to hit for average in today's game, the professional hitter in the Rockies' lineup could be the man to make shortened-season history.