Francisco Cordero raised his arms and threw back his head, reveling in the big number that had eluded him for a week.

Finally, he'd gotten his 300th save. And it came on a night when it appeared he'd be nothing more than a spectator.

Jay Bruce and Joey Votto hit two-run homers during Cincinnati's late comeback, and Cordero took advantage of the unexpected opportunity, securing a 4-3 win over the visiting Milwaukee Brewers that prompted his on-the-mound celebration.

Cordero became the 22nd pitcher to get 300 saves.

"That's a big number," said Cordero, who also pitched for Detroit, Texas and Milwaukee. "I don't know what to say. I'm just so excited. I'm really happy. I'm just glad I could get it out of the way. Now I can focus on getting saves and helping us get to the playoffs."

The struggling Reds won for only the fourth time in their last 15 games, relying on their two best hitters - and their reliable closer - to pull it out.

"It's been a tough run over the last 20 days," manager Dusty Baker said. "We're emotionally run down."

Bruce hit his 17th homer in the seventh inning, ending Shaun Marcum's shutout bid by connecting on a poorly placed changeup. Votto added a two-run shot in the eighth off Kameron Loe (2-5), who hit Brandon Phillips with two outs to bring up the NL's Most Valuable Player.

Nick Masset (1-3) pitched out of a threat in the eighth, giving the Reds a chance for their 15th come-from-behind win.

Cordero got his 299th save on May 24 and had a chance for another last Wednesday in Philadelphia. He blew a lead in the 10th inning, and the Reds wound up losing in 19 innings.

For the Brewers, it was just another stunning loss in the ballpark where they've had so many. A win would have boosted them six games over .500 for the first time in 2 years. Instead, they wasted another solid start by Marcum and wound up losing for the 13th time in their last 15 games at Great American Ball Park.

In other games:

* At Chicago, Brett Myers (2-4) allowed one run over six innings, Michael Bourn hit a go-ahead, two-run single in the seventh and the Houston Astros beat the Cubs, 3-1, to finish off a three-game sweep.

* At Atlanta, Tommy Hanson (6-4) went six strong innings on a sweltering night, Freddie Freeman drove in two runs and Martin Prado homered, leading the Braves past San Diego, 4-3, and preventing the Padres from sweeping the series.

* At New York, Kevin Correia (8-4) became the first eight-game winner in the majors and the pesky Pittsburgh Pirates scratched out five infield singles in a five-run seventh inning to beat the Mets, 9-3. The Pirates improve to 17-14 on the road - matching last season's win total (17-64).

* At Phoenix, Justin Upton's bloop single to rightfield with two outs in the bottom of the ninth drove in the winning run in the Arizona Diamondbacks' 6-5 victory over the Florida Marlins.

* At Los Angeles, Jose Morales and Carlos Gonzalez hit sac-flies and Todd Helton added a solo homer to protect a four-hit, complete-game shutout for Ubaldo Jimenez (1-5) and give the Colorado Rockies a 3-0 win over the Dodgers.

* At St. Louis, Nick Schierholtz hit an RBI single in the ninth to tie the game and followed that with an RBI single in the 11th inning to lift the San Francisco Giants over the Cardinals, 7-5. Sections of two light standards at Busch Stadium failed with two outs in the bottom of the 11th, delaying the finish.

Once the game resumed, Giants closer Brian Wilson capped off his 15th save of the season.

In Cardinals news, righthander Kyle McClellan went on the disabled list with a strained hip flexor muscle. Matt Holliday (left quad injury) is expected to follow his teammate.