ST. LOUIS (AP) -- Throwing a complete game is a big deal these days. Unless you're CC Sabathia feasting on a new league.
"He's got unbelievable stuff," catcher Jason Kendall said. "That's a good team over there, but when you're on it doesn't matter who's hitting."
Ryan Braun had four hits, lacking a double for the cycle, and J.J. Hardy hit his 14th homer for the Brewers, who have won seven straight. Milwaukee won the first three games of this four-game series behind stingy pitching, limiting the Cardinals to six runs.
The Brewers have homered in 19 straight games, tying the franchise record set in 1996, and have 30 home runs in that stretch.
Hardy, who is 8-for-14 in the series, hit his first homer since July 10 with one out in the fifth off Braden Looper (9-8) for the game's first run. A single, a hit batsman and Rickie Weeks' sacrifice fly off Kelvin Jimenez made it 2-0 in the sixth and Braun homered off Jason Isringhausen leading off the ninth.
It was more than enough for Sabathia (4-0), who followed up a four-hitter over Cincinnati and an eight-hitter over San Francisco with another gem, matching his career best for hits allowed with his third career three-hitter and 22nd complete game. Sabathia has won all four starts since the Brewers acquired the 2007 AL Cy Young winner from Cleveland. He has won seven straight decisions overall in his last nine starts, and has three shutouts this season.
Sabathia is the first Brewer to throw three complete games since Cal Eldred had four in a row in 1994.
"You feel good if you can get CC one or two [runs]," manager Ned Yost said. "Just give him a little bit of breathing room and work from there, it's a good thing."
After walking Brendan Ryan on five pitches to start the first, Sabathia retired 17 consecutive batters before Ryan's line-drive single just to the right of first baseman Prince Fielder with two outs in the sixth. Ryan Ludwick followed with an infield hit down the third-base line that Bill Hall could only knock down, but Sabathia dealt with his only bit of trouble by getting Albert Pujols on a fly out to medium center.
Sabathia struck out seven, fanning Ludwick and Pujols to start the ninth as an indication he wasn't losing any steam, and walked two.
"That was as well a pitched game as we've had against us all year, from the first pitch to the last," Cardinals manager Tony La Russa said. "We had a plan, but when the other guy is making pitches like he was, it doesn't matter what your plan is."
The plan, Sabathia believes, was for the Cardinals to come out swinging, just as they did the previous day against Jeff Suppan. It worked out only for Sabathia, who needed only 106 pitches.
"I think they were hacking early," Sabathia said. "They swung early a lot and I started mixing some offspeed pitches in and was able to keep my pitch count down."
Despite the attraction of Sabathia, the Cardinals had a run of 10 consecutive sellouts after the All-Star break end with paid attendance of 41,513. The last game to not sell out was July 2 against the New York Mets and Pedro Martinez, a three-time Cy Young winner.
Looper lasted five innings, allowing a run and seven hits. He is 0-3 in his last five starts. The Brewers stranded seven runners during his stint, leaving the bases loaded in the third and two on in the fifth.
"I made one mistake to J.J. Hardy, and it cost me a run, and cost me the game basically," Looper said.
The Brewers are one win away from a perfect 7-0 trip, and are 27-26 on the road this season. They haven't had a winning record on the road since 1999, and were 32-49 last season.
Cardinals OF Rick Ankiel got a day off after playing with an upset stomach on Tuesday. ... Cardinals SS Cesar Izturis, batting .278 right-handed and .194 left-handed, has ditched switch-hitting for now at the suggestion of batting coach Hal McRae and is batting exclusively right-handed. "His stroke has been better from that side, so I think it makes sense to try it," La Russa said. ... Yost said closer Salomon Torres was going to get a day off, even if the game got close, after pitching the previous four days. ... Yost was ejected for second time this season by home plate umpire Ed Rapuano in the fifth inning for arguing a checked swing strikeout call on Fielder. ... Braun is 11-for-25 on the trip with two homers.