The Union (14-8-12, 54 points) clinched the No. 2 seed in the Eastern Conference and a home playoff game.
Philadelphia will be heading to the postseason for the fourth consecutive season.
Valentin Castellanos scored NYCFC's goal to complete its regular season with a five-game unbeaten streak.
NYCFC (14-11-9, 51 points) is also going to compete in the playoffs as it finished with the No. 4 seed.
The game was a tight defensive battle through the first 20 minutes as neither team had a strong scoring opportunity.
NYCFC was then reduced to 10 players when Gedion Zelalem was sent off with a red card for a reckless tackle against Leon Flach. Zelalem was initially given a yellow card in the 21st minute, but after video review, he was ejected.
The Union capitalized and went ahead 1-0 in the 26th minute when Przybylko pounced on a loose ball in front and tapped it into the net.
NYCFC had a chance in the 42nd minute, but Jesus Medina wasn't able to quite control the ball and shot the ball high and wide.
NYCFC kept attacking and tied the game at 1 in the 53rd minute when Castellanos headed a cross past Blake for his 19th goal, which ties for the MLS lead.
NYCFC earned a corner kick in the 78th minute after controlling possession for a bit, but Blake punched out the cross from Medina.
In the 80th minute, Philadelphia's Jamiro Monteiro managed to strike a low lining left-footed shot from the top of the box right at Johnson.