Edgar Renteria had four singles and two RBIs for the Braves, who finished with a season-high 17 hits and lead the majors with 63 two-out RBIs this season. Craig Wilson hit his first homer and had three hits, and Chipper Jones drove in two runs.
Chuck James (3-2) lasted 5 1-3 innings, allowing four runs and six hits, to snap a two-game skid.
James was cruising along until he appeared to hurt himself on a pitch in the sixth. The trainers ran out, but James stayed in the game. Two singles later, he was lifted by manager Bobby Cox.
Garrett Atkins hit a three-run double off Bob Wickman in the ninth to get Colorado within two, but Peter Moylan retired Matt Holliday for his first career save. Jeff Francoeur made a nice running catch in right for the final out.
Rockies starter Jeff Francis (1-3) was pulled after 5 1-3 innings. He gave up four runs and 11 hits.
PHILADELPHIA - Tom Gordon blew another save for Philadelphia. This time, the offense bailed him out.
Carlos Ruiz's infield single with the bases loaded in the ninth inning, lifting the Phillies over Florida. Philadelphia (10-12) has won six of seven after a terrible start.
Jimmy Rollins' NL-leading ninth homer tied it and Chase Utley connected one batter later to give the Phillies a 5-4 lead in the eighth.
But Gordon couldn't hold the lead - again. Mike Jacobs started the ninth with his fourth hit, a double. With one out, Cody Ross doubled to tie it at 5. Gordon (1-1) has blown three saves in seven chances.
Philadelphia's Aaron Rowand was 4-for-5 with a solo homer, extending his career-best hitting streak to 15 and falling a triple short of the cycle.
Jacobs was 4-for-4 with a solo homer and Miguel Cabrera also hit a solo shot for the Marlins.
Randy Messenger (0-1) took the loss.
ST. LOUIS - Jason Marquis beat his former team for the second straight time and Felix Pie hit his first career home run in Chicago's victory over St. Louis.
Pie and Aramis Ramirez hit two-run homers in the fourth inning for the Cubs, who have won consecutive games for the first time since April 6-7. Left fielder Alfonso Soriano threw out two runners, one at the plate.
Marquis (3-1) allowed three runs and five hits in 6 2-3 innings, six days after throwing seven scoreless innings in Chicago.
Anthony Reyes (0-4) struck out five in the first three innings and didn't give up a hit. But the Cubs broke through for four extra-base hits in the fourth to take a 4-1 lead.
Yadier Molina hit a two-run homer to chase Marquis and cut the deficit to one. Ryan Dempster got five outs for his fourth save in four chances and first since April 7.
HOUSTON - J.J. Hardy's two-run double off Roy Oswalt (3-2) capped a three-run seventh, and Milwaukee handed Houston its seventh consecutive loss.
Johnny Estrada homered in the eighth off new Astros reliever Stephen Randolph, helping the Brewers win for the seventh time in nine games. Chris Capuano (4-0) won his fourth straight start, giving up five hits and one run.
Francisco Cordero improved to 9-for-9 in save opportunities.
WASHINGTON - The Nationals actually scored in the first inning, the only time they've managed to do that all season.
Austin Kearns hit a three-run homer to stake Washington to an early lead, Matt Chico (2-2) earned his second major league victory and the NL-worst Nationals held off New York.
Washington set a league record by playing 22 games at the start of a season without scoring a first-inning run, but Kearns ended the drought with a shot to left-center off Oliver Perez (2-2).
Chad Cordero threw a perfect ninth for his third save.
PITTSBURGH - Ian Snell (2-1) limited Cincinnati to six hits over seven shutout innings and Jason Bay's two-run double in the first got Pittsburgh going.
The Pirates matched their longest winning streak of last season by winning their fifth in a row to move above .500 at 11-10.
The Reds, down 3-0 before Eric Milton (0-4) retired his second batter, lost their third straight and seventh in nine games.
Salomon Torres allowed a leadoff homer to Adam Dunn in the ninth but finished for his seventh save in 10 chances.
Ken Griffey Jr. remained out of the Reds' lineup for a second day with pleurisy. He was used as a pinch hitter in the seventh, drawing a walk before being replaced by a pinch runner.
PHOENIX - Arizona walked Barry Bonds intentionally three times with runners in scoring position, including in the ninth, and the Diamondbacks snapped San Francisco's eight-game winning streak.
The Diamondbacks won their third straight.
Doug Davis (2-2) allowed one run and seven hits in seven innings for the win. Jose Valverde picked up his ninth save in 10 chances.
San Francisco's Randy Winn went 3-for-4 and fell a triple shy of the cycle. Barry Zito (2-3) went seven innings, allowing three runs and six hits.
SAN DIEGO - Trevor Hoffman, baseball's career saves leader, gave up four runs in the ninth inning as Los Angeles rallied to stun San Diego.
Nomar Garciaparra's fourth hit, a two-run double, tied the game at 4 with one out, and Russell Martin's two-run double with two outs handed Hoffman his second loss in his last two appearances.
It was the first time Hoffman (1-2) blew save chances in consecutive outings since April 26 and April 29, 1997. On Wednesday night, he gave up Stephen Drew's two-out, two-run homer in the ninth that gave Arizona a 3-2 victory.
Rudy Seanez (1-0) pitched a scoreless eighth and Takashi Saito worked the ninth for his seventh save in seven chances.