The Impact (14-12-7), who ended a six-game winless run, are solidly in playoff position going into their final regular-season game in Toronto.
Fabinho scored in the first half for Philadelphia (12-11-10), who began the day in a three-way tie with Montreal and Chicago for fourth place in the Eastern Conference.
Di Vaio became the 11th player in MLS history to score 20 goals in a season.