Sheets (4-1) had his longest outing since joining Atlanta's rotation on July 15 after missing all of last season. He allowed one run on seven hits while walking one and striking out none.
"You can really tell the experience when he's on the mound," Atlanta manager Fredi Gonzalez said. "He just keeps on giving us good outings."
Sheets is averaging almost one less strikeout per game since his comeback, 5.4 strikeouts per game before the injury to 4.6 this season, but he owns a 1.13 ERA in five starts this season. He had a career 3.80 ERA entering this season.
"He doesn't have the pop on his fastball he used to, but he knows how to pitch," Phillies manager Charlie Manuel said. "He worked us in and out and it looked like our left-handed hitters, especially, were trying to do too much."
Freddie Freeman drove in two runs, Brian McCann went 2-for-3 with an RBI and Dan Uggla had a pair of hits for the Braves, who have won 11 of 13 overall.
"We had a good overall offensive performance," Gonzalez said.
John Mayberry Jr. homered for the Phillies, who have lost seven straight to Atlanta.
Sheets, who had surgery in August 2010, has pitched well in his five starts this season. He retired eight straight batters at one point, and kept Phillies batters off balance all evening.
"Thank God I didn't have to dominate with a strikeout because I didn't have one," Sheets said. "Anytime I have two strikes on a hitter I want to strike him out because then nothing bad can happen, but outs are good too."
No Phillies player struck out, even against relievers Eric O'Flaherty and Cristhian Martinez, who combined to pitch 1 2-3 scoreless innings.
The Braves took a 3-0 lead in the third, highlighted by Freeman's two-run double that bounced just over the first-base bag. Martin Prado scored the second run on Freeman's hit, just beating catcher Brian Schneider's tag. Phillies manager Charlie Manuel came out to argue the play, but replays appeared to show home-plate umpire Eric Cooper made the correct call.
Freeman, who went to third on the throw to the plate, reached on a wild pitch by Vance Worley.
Worley (6-7) had his shortest outing of the season, lasting just 3 2-3 innings and giving up four runs on six hits with three walks and two strikeouts. He had a stomach ailment before the game, but told Manuel he wanted to pitch.
"I definitely wasn't feeling my best, but I wanted to go out there and pitch for my team," Worley said. "I went out there with heart."
Atlanta tacked on a run in the fourth when Paul Janish scored on Michael Bourn's RBI single to left. Philadelphia got that run back, drawing within 4-1 on Mayberry Jr.'s leadoff homer to left in the bottom half.
Atlanta went up 5-1 in the seventh when Heyward scored from first on a single. Brian McCann lined to right and the ball glanced off the tip of charging Nate Schierholtz's glove. Schierholtz thought he caught the ball and was slow to react, allowing Heyward to race all the way around to home plate.
Heyward made it a five-run game with his 18th homer, a solo shot to right in the ninth.
The Phillies' crowd of 41,665 halted the club's consecutive sellout streak at 257 games, which is the third-longest in MLB history according to the club. The streak started on July 7, 2009.
Philadelphia was 154-103 during those games with Citizens Bank Park averaging 45,082 fans per game for a total draw of 11,585,952.
"It's kind of up to us that we get our team together, get better and get our crowd back," Manuel said. "I'm sure we can. I'm sorry because we didn't sell out. It just goes to show you what kind of a season we've had."
Atlanta won its second straight Monday game after losing the first 12 Monday games of the season. As they did last Monday when they broke the losing streak, the Braves wore their socks high as a team.
"We'll keep doing whatever works," Gonzalez said.
NOTES: The Phillies activated left-hander Raul Valdes from the DL and optioned infielder Hector Luna to Triple-A Lehigh Valley. Valdes had been out since July 9 with a right hip strain. He pitched 1 1-3 scoreless innings Monday, striking out three. . Jimmy Rollins snapped an 0-for-16 skid with an eighth-inning single. . Philadelphia left-hander Cole Hamels (11-6, 3.34 ERA) is scheduled to face Atlanta lefty Mike Minor (6-7, 5.01) in the second of the three-game set at 7:05 Tuesday.