Aramis Ramirez homered three times for all of Chicago's runs, and the Cubs kept pace in the playoff race by rallying to beat the Reds, 5-4, last night in Cincinnati.

"One-man wrecking crew," Reds starter Josh Hancock marveled. "If I had the kitchen sink in my back pocket, I would have thrown it up there and he probably would have hit it."

The Cubs opened their final road trip of the regular season -- four cities, 12 games -- looking to keep up with the Giants, who are a half-game ahead for the NL wild card.

Ramirez hit a two-run homer and a solo shot off starter Josh Hancock, then put the Cubs ahead in the seventh with a two-out, two-run drive off Ryan Wagner (3-2) for his second three-homer game of the season. Ramirez also hit three against Philadelphia on July 30.

Ramirez matched Ron Santo's club record for homers by a third baseman with 33.

Chicago's Moises Alou (35), Sammy Sosa (31) and Derrek Lee (30) also have reached the 30-homer plateau, only the 10th time in major league history that a team has had four players at the mark.

* GIANTS 4, BREWERS 0: Barry Bonds went 3 for 3 with a walk in the win in Milwaukee and remained one homer run short of joining Babe Ruth and Hank Aaron in the 700-homer club.

Rookie Brad Hennessey (2-2) allowed two hits over seven spectacular innings for the Giants.

Bonds certainly got his chance to reach the milestone in Milwaukee, where Henry Aaron started and ended his career on the way to a record 755 home runs.

Bonds took 21 swings in the three-game sweep during the Giants' only trip to Miller Park this season, going 3 for 9 with four walks -- one intentional. He hit an RBI double and two singles in the final game.

Now, Bonds and the Giants return home for a nine-games series at SBC Park starting tonight against the San Diego Padres.

* MARLINS 4, EXPOS 3: Dontrelle Willis won for the first time in five starts, and Juan Encarnacion hit a two-run triple to lead host Florida.

Jeff Conine drove in the go-ahead run with a sixth-inning single. The Marlins, who trailed 3-0 in the fifth, earned their 25th comeback victory and remained 31/2 games behind San Francisco in the NL wild-card race.

* ASTROS 8, CARDINALS 3: Jeff Kent had two doubles and four RBI, and host St. Louis committed a season-high four errors to help Houston snap Jason Marquis's 11-game winning streak. The Astros took two of three from the NL Central leaders, staying two games behind the Giants in the wild-card race and keeping the Cardinals' magic number for clinching the division at four.

* PADRES 3, DODGERS 0: Adam Eaton allowed five hits over seven innings for his career-high 10th victory, Brian Giles homered for the second straight game, and visiting San Diego beat Los Angeles.

The NL West-leading Dodgers' lead was cut to 21/2 games over San Francisco -- their smallest since July 31.

* METS 9, BRAVES 4: Richard Hidalgo and Todd Zeile hit back-to-back homers in host New York's seven-run first.

Mike Cameron had three hits and drove in two runs for the Mets, who took three of five against the Braves. A day after Manager Art Howe was fired, effective at the end of the season, New York won its first series since taking two of three in a rain-shortened set at Colorado on Aug. 17-19.

* DIAMONDBACKS 8, ROCKIES 5: Danny Bautista hit a run-scoring double in the seventh and scored on Alex Cintron's sacrifice fly, lifting Arizona to the home victory.

Chad Tracy added a two-run homer in the eighth to help the Diamondbacks rally from an early 4-0 deficit and win three straight for the first time since sweeping San Francisco from June 1-3.

Chad Durbin earned the win despite walking three in his only inning of work. With the game tied at 4, Durbin (1-0) walked Todd Helton and Jeromy Burnitz before giving up a two-out RBI single to Garrett Atkins, who drove in three runs.

Fans in Milwaukee give Giants' Barry Bonds a standing ovation after he leaves game in 8th after hitting a single.