NEW YORK -- Aaron Harang allowed four hits in seven innings, and the Atlanta Braves used early offense against Bartolo Colon to beat the New York Mets 3-1 on Thursday night and avert a four-game sweep.
The Braves snapped a four-game losing streak and ended the Mets' season-best, four-game winning run. New York hasn't swept a four-game set from Atlanta since July 1989.
Harang (9-6) won his fourth straight start and fifth game in six outings, topping the Mets for the second time this season in three appearances -- allowing a total of two runs. He struck out two and walked four.
Craig Kimbrel worked out of an eighth-inning jam and got four outs for his 28th save in 32 opportunities. Andrelton Simmons, Freddie Freeman and Ramiro Pena all had two hits.
Colon (8-8) hung around for eight innings. He allowed three runs and 10 hits with no walks and seven strikeouts. The 41-year-old right-hander lost his third consecutive start.
Colon gave up two runs in the first and one in the third, yielding nine hits in the first four innings -- at least two in each frame -- and didn't retire Atlanta in order until the fifth. He did it again in the sixth, and his run of 10 straight outs was broken up by B.J. Upton's seventh-inning single.
The Mets cut the lead to 3-1 in the third on David Wright's RBI single and threatened for more in the fifth when they loaded the bases with two outs. But Harang induced Travis d'Arnaud, moved up to fifth in the order for the first time this season, to fly out after a visit from pitching coach Roger McDowell.
While New York leads the major leagues with 62 runs in the first inning, Colon has struggled early in games. He has given up 18 runs in the first inning of his 18 starts, and opponents are batting .349 (29 for 83).
Colon struck out Upton looking in the first, but Simmons rolled a single past the outstretched glove of second baseman Daniel Murphy and scored on Freeman's ringing double to right. Justin Upton struck out looking before Jason Heyward blooped a single to left that scored Freeman to make it 2-0.
The rally ended when Tommy La Stella took the third called third strike of the inning.
The Braves threatened again in the second, putting runners on first and second on back-to-back hits by Christian Bethancourt and Pena. Harang struck out attempting to bunt, and Bethancourt was caught trying to get to third after a long rundown to complete the double play. The missed bunt was only the second failed swing by the Braves in Colon's first 31 pitches.
After two singles to open the Braves third, Atlanta made it 3-0 on Justin Upton's double-play grounder that scored Simmons.
Colon batted eighth for the first time, with Eric Young Jr. in the No. 9 slot. Young entered with a .556 average (5 for 9) with four walks against Harang and went 1 for 3. ... Braves 3B Chris Johnson, who was 2 for 12 in the first three games of the series, sat out in favor of Pena. ... Justin Upton lost out to Cubs 1B Anthony Rizzo in online balloting for the final spot on the NL All-Star team. Justin Upton and Harang were the only Braves starters without a hit. ... Atlanta's Alex Wood will open a series Friday in Chicago. Mets right-hander Zack Wheeler gets the start against Miami as New York begins the final series of its 10-game homestand.