ATLANTA (AP) -- Tim Hudson was Atlanta's stopper again.
Hudson stopped another losing skid, pitching seven scoreless innings and hitting a two-run single to lead the Braves past the Colorado Rockies 6-4 on Saturday night.
Hudson made his 12th start following an Atlanta loss. The Braves are 10-2 in those games.
This time, Hudson stopped a two-game losing streak, allowing the Braves to pull to within 4 1/2 games of the New York Mets in the NL East.
Hudson (12-5) gave up only five hits and two walks and struck out seven.
Hudson is 6-0 with two no-decisions in his last eight starts. His last loss was a 4-0 decision to Boston on June 19 -- also the date of his last home run allowed.
The Rockies rallied with Garrett Atkins' grand slam off reliever Octavio Dotel in the eighth. Dotel loaded the bases on Yorvit Torrealba's double, shortstop Yunel Escobar's throwing error on Cory Sullivan's grounder and Kaz Matsui's walk. Atkins cleared the bases with the drive into the seats in left-center.
Rafael Soriano recorded the final two outs in the eighth. Bob Wickman got three outs for his 18th save in 23 chances.
Matt Diaz hit a home run and scored three runs and Willie Harris had two hits and drove in two runs for Atlanta.
Hudson pitched out of trouble with the bases loaded in the seventh when Troy Tulowitzki hit into a double play.
Each team was missing key hitters.
Atlanta's Andruw Jones was used only as a ninth-inning defensive replacement after having a cortisone shot in his left elbow Friday night. Jones may miss Sunday's game but said he plans to return when the Braves open a series at the New York Mets on Tuesday night.
The Rockies did not start Matt Holliday and Willy Taveras.
Holliday sprained his right thumb while sliding head first Friday night, and he said he expects to play Sunday. Colorado manager Clint Hurdle said he wanted to give Sullivan a start in center field, so Taveras sat.
Harris led off the first with a triple past Colorado's Ryan Spilborghs in left field. Kelly Johnson followed with a single to center for a 1-0 lead.
Diaz hit a homer to right in the second. Jeff Francoeur walked to lead off the fourth and scored on a bases-loaded grounder by Harris for a 3-0 lead.
Colorado starter Ubaldo Jimenez (1-1) struck out seven in only 4 2-3 innings, but he gave up five walks and hit two batters -- including one hit and one walk in Atlanta's three-run fifth inning.
Jimenez loaded the bases for the second straight inning in the fifth, setting up Hudson's two-run single to shallow center. Harris added a run-scoring single off reliever Ramon Ramirez for a 6-0 lead.
Jimenez, who gave up six hits and six runs, suffered his first loss in his fourth start.
Harris made a diving catch of a sinking liner hit by Sullivan in the sixth and appeared to jam his left hand. He remained in the game.
Mark Teixeira was 0-for-4 with a walk after hitting homers in each of his first three games with Atlanta. ^Notes: Hudson has not allowed a homer in 55 innings. ... Atkins hit his fifth career grand slam and his second this season. ... Johnson stole two bases in a game for the first time in his career. ... The Rockies hit into double plays in the first, fourth and seventh innings. ... Diaz was hit by pitches from Jimenez in the fourth and fifth innings. Diaz was hit by only two pitches in his first 92 games.