McInerney score on a low shot through traffic after some extended pressure from Philadelphia (5-5-5). He also scored in stoppage time to give the Union a 1-1 draw at home against Toronto on April 1.
Toronto (1-7-6) was playing with just 10 men after 41 minutes and extended its MLS winless streak to 11 matches.
McInerney came into the game tied for the league lead with nine goals, and also had an MLS-best five game-winning scores.
Rookie midfielder Jonathan Osorio scored in the 66th minute for struggling Toronto. New Zealand substitute Jeremy Brockie set up the goal with a fine swerving cross from the right flank. The 20-year-old Osorio flung himself at the ball and scored on a header for his third goal.
Dutch striker Danny Koevermans was introduced for Toronto in the 86th minute, returning after more than 10 months out due to knee surgery.
Each team received three yellow cards in the chippy match.
Toronto dominated the first half but managed just one shot on goal in the opening 45 minutes and was down a man after defender Doneil Henry was sent off for a second yellow in the closing minutes.
Philadelphia's Brian Carroll received a yellow card in the 25th minute, and Union goalie Zac McMath and Henry both received one in the 27th minute after a confrontation that saw McMath object to Henry getting in his way while trying to kick the ball away.
Henry was sent off by referee Geoff Gamble in the 41st for a red card when he took down Danny Cruz on the edge of the box. A poor free kick by Daniel helped Toronto escape further damage.
Darren O'Dea moved over to fill Henry's space at center back while Convey dropped back to left back. Toronto brought on left back Ashtone Morgan to start the second half, replacing Luis Silva.
Toronto assistant coach Fran O'Leary, who clearly had plenty to say, waited for Gamble as the referee left the field after the first half.
Toronto's Matias Laba (77th) and Philadelphia's Jeff Parke (84th) were issued yellow cards in the second half.