Ramirez hit a pair of three run homers, but the Cardinals never trailed after David Freese hit a grand slam in a five-run first inning of a 7-6 victory on Friday night. Entering the three-game series, the Brewers had outscored opponents 35-9 in the first inning, the most runs in the majors and fewest allowed.
"I thought we battled well, I liked the at-bats," Brewers manager Ron Roenicke said. "We keep playing like this, we'll start getting some breaks and we'll be OK."
The Brewers have lost 13 of 15 and are 1-7 this season against the Cardinals. They showed life on offense after scoring one run each of the last two games, but the bottom four spots in the lineup were a combined 0 for 15.
"We came back, which we haven't been doing," Roenicke said. "We swung the bats well after we got through those first few innings. Tough to recover from the first."
Rickie Weeks was batting .176 after going 0 for 4 with two strikeouts and was 3 for 25 the first eight games of a 10-game trip.
"Rick's just not hitting the ball like we know he can, whether there's guys on base or whether there's not," Roenicke said.
The Cardinals had five hits and a walk while batting around against Wily Peralta in the first, but the right-hander was still in the game when Garcia (5-2) was chased with one out in the sixth. Milwaukee got one hit in 3 2-3 innings against three relievers, with Edward Mujica working the ninth for his 12th save in 12 chances.
Ryan Braun reached on a leadoff single in the eighth, but was caught stealing for a double play after Trevor Rosenthal struck out Ramirez after falling behind 3-0 in the count. Carlos Gomez then popped up a bunt to end the inning.
"He threw two fastballs and a changeup, I'd never seen him throw a changeup before," Ramirez said. "When a guy throws 100 (mph), you have to look fastball and adjust. Good pitch."
Freese entered with a .209 average, four RBIs and a .287 on-base percentage, struggling to find his stroke after starting the season on the 15-day disabled list with a back injury from chasing a foul ball in spring training. He batted .293 last year with 20 homers and 79 RBIs, the first time he played more than 100 games in the majors.
Matt Holliday had two hits and two RBIs for St. Louis, which has won 13 of 16 and leads the National League at 27-14. Allen Craig had three hits and a walk and leadoff man Matt Carpenter had three hits and scored twice.
Ramirez lined a pitch into the left-field stands in the fourth, and cleared the wall in center in the sixth for his third homer of the season. He has 32 homers against the Cardinals, tied with Adam Dunn for second-most among visiting players, and it was his 26th career multihomer game.
Peralta appeared to have a good shot at escaping the inning down just a run when he struck out Jon Jay for the second out. Jay entered with a .440 career average against Milwaukee, and Freese had been in a season-long slump with just one extra-base hit and one RBI this month.
Freese then hammered a 1-1 pitch to straightaway center with a stroke reminiscent of the 2011 postseason when he was World Series and NL championship series MVP. Freese made a curtain call responding to a sellout crowd, but struck out his last two trips against Peralta.
Jay got an RBI single in his second trip to make it 6-0 in the third.
Garcia retired nine in a row on 28 pitches before Norichika Aoki slapped a single to open the fourth. Braun walked with one out and Ramirez cut the deficit in half, lining a 3-1 pitch into the left field seats.
Garcia was charged with six runs and six hits in 5 1-3 innings.
NOTES: Roenicke called his first team meeting of the year Thursday after getting outscored 10-2 in consecutive losses at Pittsburgh. ... Roenicke plans to rest Ramirez every third game or so for now while the veteran, who returned in early May from a left knee sprain that knocked him out a month, regains strength and form. "I don't think I can't say that in a week from now, I can leave him out there and not worry about. I know I'm not there," Roenicke said before the game.