The statcast guys did a podcast on it. Basically the Phillies defense was very bad in 2018, but it wasn't equally bad for all of our starters. Nola was effected much less than Pivetta for example. Bref don't look into every game, they look at the defense on a whole and credit the pitcher for playing in front of a poor defense.
Phillies BABIP, 2018
Phillies average: .303
MLB average: .293
As we mentioned above, we can't completely give blame or credit to the defense for good or poor BABIP numbers, because that ignores what kind of contact the pitcher is giving up in the first place, and among qualified pitchers, Arrieta, Nola, and Pivetta all finished in the Top 15 in ground-ball rate.
In order to account for that, we can look at Expected Batting Average, a Statcast™ metric that looks at the exit velocity and launch angle for each batted ball and describes how often similar batted balls turn into hits. If we look at it on ground balls only, we can see how our five regular Phillies starters did.
As expected, Pivetta, Eflin, and Velasquez saw real-world outcomes worse than the quality of contact they allowed would indicate. But surprisingly, Nola and Arrieta each collected more outs than their already-strong quality of contact would have suggested. "Being good and having favorable outcomes on top of that" is a good way to get to those low BABIP numbers we shared above.
2.37 ERA // 3.01 FIP // 2.60 DRA // 2.78 xERA
4.80 ERA // 3.79 FIP // 3.40 DRA // 3.50 xERA
4.36 ERA // 3.80 FIP // 4.67 DRA // 3.63 xERA
4.88 ERA // 3.75 FIP // 4.20 DRA // 3.68 xERA
3.96 ERA // 4.26 FIP // 4.08 DRA // 4.15 xERA