The Union were ahead in the sixth minute when Jack McInerney broke upfield and ran past two defenders before powering the ball past Bill Hamid in the United goal.
Philadelphia doubled their lead minutes later when Danny Cruz raided down the right and squared the ball for Conor Casey on the edge of the area and he fired an effort into the bottom corner.
However, United got themselves back in the game almost immediately when Perry Kitchen's shot flew into the net from close range after Dwayne De Rosario teed him up inside the box.
This joy was short-lived for United, as McInerney got his second of the game and Union's third when Sheanon Williams's throw-in deflected into his path at the back post where he supplied a clinical finish past Hamid.
After the break United got back into the game for the second time when Lionard Pajoy headed home Daniel Woolard's cross from close range.
DC pushed to get back into the game but couldn't find a way past Zac MacMath in the Union goal and the visitors almost made sure of the points when Keon Daniel raced clear but he was denied by Hamid, as Philadelphia claimed the win.