The Braves reduced their magic number to eight. They have a 9 1/2-game lead over Washington with 15 left.
Keuchel (8-5) gave up one run and three hits to win his fifth straight start.
Despite a suspect rotation, the Phillies didn't pursue Keuchel in free agency while he sat for several months. The 2015 AL Cy Young Award winner eventually signed a one-year, $13 million deal with Atlanta in June.
"I think a lot of those guys over there in the front office are second-guessing themselves and I would, too," Keuchel said.
Keuchel lowered his ERA to 3.35 and the Braves are 10-6 in his starts.
"The guy competes," Braves manager Brian Snitker said. "He leaves it out there every time he pitches. I mean, he gives everything he has out there."
Melancon got some defensive help to close it. With two runners on and one out, shortstop Dansby Swanson made a leaping catch on pinch-hitter Brad Miller's liner up the middle. Third baseman Josh Donaldson then reached over the dugout railing and snared Maikel Franco's foul pop.
Phillies starter Zach Eflin (8-12) allowed three unearned runs and three hits in 3 2/3 innings.
"He had a difficult time putting hitters away," manager Gabe Kapler said. "He didn't get one pitch up enough and Flowers punished it."
Donaldson reached on shortstop Jean Segura's throwing error with one out in the fourth and Matt Joyce followed with a single. After pinch-hitter Rafael Ortega struck out, Flowers drove a 2-2 fastball into the left-field seats to give the Braves a 3-0 lead.
The Phillies had the bases loaded with one out in the fifth, but Harper grounded into a double play.
"I have to get the job done there," Harper said.
Harper saved a run in the ninth when he made a perfect, no-hop throw to the plate to retire Austin Riley trying to score from second on a single by Ozzie Albies. He has 12 outfield assists, one shy of his career-best.
The Braves are 19-4 since Aug. 17 and 44-28 on the road this season. Their .611 road winning percentage is tops in the National League.
Braves: LF Johan Camargo left the game after fouling a ball off his right leg below the knee in the fourth inning. Snitker said he's day-to-day with a contusion. ... RF Nick Markakis took live batting practice and threw from the outfield. He'll do it again Thursday. He could return this weekend against the Nationals.
Phillies: LF Corey Dickerson left the game with left foot soreness after grounding out in the sixth. X-rays were negative. ... RHP Edubray Ramos threw 15 pitches in a live batting practice session. It's still uncertain when Ramos could return to the bullpen.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports
We'll miss MLB's London Series, which gave us the weirdest game of 2019
The game that would be the hardest to explain to a first-time baseball watcher last year was, almost certainly, the one viewed by the most first-time baseball watchers.
Anniversary of Mets signing Seaver recalls funny Ali story for Kurkjian
On April 3, 1966, the Mets signed Tom Seaver, and that reminds Tim Kurkjian of a Seaver story that involves Dick Schaap and Muhammad Ali.
On this date: Ichiro makes history with MLB debut
With April 2 being the anniversary of Ichiro Suzuki's 2001 major debut, Tim Kurkjian reflects on the significance of the event.
Tim Kurkjian's baseball fix - The legend of Tuffy Rhodes
On Opening Day 1994, he hit three homers, prompting a teammate to drive home that night thinking "This guy might be better than Strawberry or Bonds." It was part of a weird run on Opening Day three-homer games.
On this date: Rhodes belts 3 HRs on Opening Day
Tim Kurkjian recounts Tuffy Rhodes' three home run day for the Cubs on April 4, 1994.
Bryce Harper, Steven Matz latest MLBers to contribute to virus relief
Phillies outfielder Bryce Harper and Mets pitcher Steven Matz are the latest baseball players to make donations to coronavirus relief efforts.