Bryce Harper homered and knocked in two runs and Brandon Marsh added two hits and an RBI for the Phillies, who have won four straight games.
Phillies starter Taijuan Walker (14-5) tossed 5 2/3 innings and allowed eight hits and three runs with six strikeouts and two walks.
Craig Kimbrel threw a scoreless ninth inning for his 21st save in 23 chances.
Brandon Drury led the Angels with three singles and two RBI.
Luis Rengifo and Mickey Moniak each had three hits and an RBI for the Angels, who have dropped two in a row.
Angels starter Lucas Giolito (7-11) gave up four hits and five runs with six strikeouts and four walks in 5 2/3 innings.
Marsh hit an RBI single to right in the eighth inning for a 6-4 lead.
The Angels went ahead 1-0 in the first when Rengifo hit an RBI single to right. After Los Angeles loaded the bases with two outs, Logan O'Hoppe grounded out sharply to Turner at shortstop.
The Phillies tied the game at 1 in the bottom of the first on Turner's solo homer to left.
Los Angeles gained a 3-1 advantage in the fourth when Drury hit a two-run single to center.
Harper launched a two-run homer to right-center in the bottom of the fourth to equalize at 3. It was Harper's 13th homer of the season.
In the fifth, Turner added a two-run shot to left for a 5-3 Phillies advantage. It was Turner's 17th homer of the season and his seventh this month.
Drury singled to open the seventh for his third hit. One out later, Rengifo blooped a single to right and Drury advanced to third. Moniak then hit an RBI single to left to close within 5-4.
—Field Level Media