Casey had a goal disallowed in the fourth minute because he was offside. But he responded with a goal three minutes later, and one in 64th minute.
Antoine Hoppenot also scored for the Union in the 88th minute.
The Union (7-5-4) pulled even with New York (7-6-4) for third place in the Eastern Conference standings. Philadelphia also snapped a five-match losing streak to the Red Bulls.
After Casey's first goal, the Union controlled the tempo the rest of the way.
In the 28th minute, New York's Lloyd Sam was given a red card following a hard foul on Philadelphia's Danny Cruz. New York was never able to generate much offense down a player.
It was the second straight loss for the Red Bulls, who hadn't played a league match in 22 days. They were without defender Jamison Olave and midfielder Juninho because of yellow-card accumulation.
The Union, meanwhile, hadn't played a league match since June 5, a 3-0 victory over the Columbus Crew.