"It's just a good time for everyone to get going," said Craig, who also tripled and went 8-for-19 in the series.
St. Louis has won six consecutive games and has beaten Milwaukee six of seven times this year, outscoring the Brewers 42-17. The team has won seven consecutive road games for the first time since July 2004.
"Early in the year, late in the year, middle of the year, it doesn't matter: Anytime you get a series win it's a great feeling," said Yadier Molina, who said his right hand was sore but OK after being hit there by a pitch. "Right now we're playing good and hopefully we can keep doing it."
St. Louis starter Jaime Garcia (4-1), a native of Reynosa, Mexico, won on Cinco de Mayo after losing on May 5, 2012, to the Astros. The left-hander pitched eight innings in winning his third consecutive start, giving up one run in each of them.
"It's just a little bit of everything and it starts with Jaime, who was really good today," manager Mike Matheny said.
Garcia used his sinkerball to keep the Brewers off-balance, and allowed three infield singles in the fifth before striking out Aramis Ramirez with the bases loaded to end the inning.
"That's the inning that stood out to me," Matheny said. "They had four hits in that inning alone and three of them never made it to the outfield grass. He kept making pitches and got out of it."
Garcia allowed eight hits and a walk while striking out three batters.
"It was a really good one against a tough lineup, a tough team, a tough place to pitch at," he said. "I was able to keep the ball down and take us deep in the game."
The offense came into the series batting .247 on the season, but hit .320 (48-150) against the Brewers. The bullpen had struggled all year and continued to do so Thursday night, but gave up only one run in 7 2/3 innings over the final three games. The rotation posted a 2.84 ERA with three of the starters giving up only a single run.
That all adds up to the most complete series of the year for St. Louis.
"We did a really good job all the way around," Craig said. "Our starting pitching was great. We got some timely hits, our defense was really good. We had some guys called up to the bullpen and they did a great job, too."
It was exactly the opposite for the Brewers, who fell 5 1/2 behind the Cardinals in the National League Central.
"We'd been playing good ball, and we played two good games [against the Cardinals], two bad games," Milwaukee manager Ron Roenicke said. "But it was a bad series overall."
The Cardinals took advantage of wildness by Milwaukee starter Marco Estrada (2-2) in the second to post their second six-run inning of the series. Estrada walked three batters and hit another before Craig doubled down the left-field line to give the Cardinals a 5-0 lead.
"Right now, it's in my head, and I'm sure it's in a lot of guys' heads, that we just got swept in a pretty crucial series," Estrada said. "But you try to go out and forget about it. That's the only thing you can do."
Matt Holliday hit a two-run homer, his second of the series, and had three RBIs.
Jon Jay had his fourth consecutive two-hit game with a pair of singles. Pete Kozma also had two hits and has a six-game hitting streak.
The Cardinals have registered three-game sweeps from Milwaukee before, the last coming Aug. 3-5, 2012, at Busch Stadium.
"It's hard to do," Matheny said of completing the sweep. "Real proud of how the guys played. It's a lot like a couple of other series we've had where guys came in ready to play this morning and were excited about being here. You can see the passion they have for the game and they went to work, really made the most of the opportunities they had. It was a good day."