Updated with more information at 11:45 p.m. on Sept. 11, 2019

some text
Associated Press photo by Matt Slocum / Atlanta Braves catcher Tyler Flowers hits a three-run homer off Philadelphia Phillies starter Zach Eflin during the fourth inning of Wednesday night's game in Philadelphia.

PHILADELPHIA — Dallas Keuchel made the Philadelphia Phillies look foolish for not calling him when he was available.

Tyler Flowers hit a three-run homer, Keuchel struck out eight batters in six innings and the National League East-leading Atlanta Braves beat the Phillies 3-1 Wednesday night.

The Braves reduced their magic number for winning the division to eight with 15 games to play. They have a 9 1/2-game lead over the second-place Washington Nationals.

The Phillies entered Wednesday two games behind the Chicago Cubs for the NL's second wild-card spot.

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 American League 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," Keuchel said, "and I would, too."

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."

Chris Martin struck out the side on nine pitches in the seventh, Shane Greene worked the eighth and Mark Melancon finished for his 10th save in 10 tries with Atlanta.

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," Phillies 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.

Bryce Harper and Rhys Hoskins hit consecutive singles to start the bottom half of the inning. Harper scored on Scott Kingery's fielder's choice grounder to cut it to 3-1.

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," said Harper, who 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 best as an MLB player.

The Braves are 19-4 since Aug. 17 and 44-28 on the road this season. Their .611 road winning percentage leads the NL in 2019.

Braves left fielder 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.

Atlanta right fielder Nick Markakis took live batting practice and threw from the outfield. He'll do it again Thursday and could return for this weekend's series at Washington.