The veteran striker had a goal and an assist in the first minute as the Union overcame their close rival at PPL Park.
Conor Casey scored the first goal in the ninth minute. The veteran striker played a ball outside to Andrew Wenger and received the cross back before deftly sidestepping Red Bulls defender Matt Miazga and finishing.
Veteran midfielder Fred, who returned to the Union for a second spell following time in Australia, scored his first goal for Philadelphia since 2010, finishing a Sheanon Williams cross touched to him by Casey. That previous goal was also at home against the Red Bulls.
The Red Bulls' only goal came from a predictable source, with Bradley Wright-Phillips netting his league-leading 16th of the season on the hour mark, with Thierry Henry and Ambroise Oyongo picking up the assists.
A penalty kick in the 69th put the Union up two again. Eric Alexander hauled down Maurice Edu on a corner kick and Sebastien Le Toux finished from the spot.
Philly (5-8-7) is now just a point behind the Red Bulls (5-6-8) in the last playoff spot, although the New Jersey club retains a game in hand.