Sorga, who came on as a substitute for Ben Olsen's side in the 90th minute, got a hold of the ball on the left side of the box, cut inside to the top of the box and ripped it right-footed into the bottom-left corner past the outstretched arm of Red Bulls goalkeeper Ryan Meara.
The goal was checked for offside, but ruled good as D.C. escaped with all three points.
United (2-4-3, nine points) came into the contest looking to snap a six-game winless streak. Sorga's winner in the eighth minute of second-half stoppage time gave the visitors their second win of the season.
The Red Bulls (3-4-2, 11 points) had the better of the play most of the night and kept the pressure and possession through the opening half, but would rue their missed opportunities by the end of 90 minutes.
Tom Barlow had a great chance for New York in the 27th minute with a shot from the right flank that forced United goalkeeper Chris Seitz into a quality save. Barlow got a second bite at it and ripped it off the post.
United's best chance of the first half came at 32 minutes when Ola Kamara got in behind and smashed a left-footed strike on goal, but Meara was up to the task.
The hosts kept the pressure up and just minutes later another chance materialized when Daniel Royer sent a low cross into the box from the left flank to the foot of Barlow, but Seitz dove out to make the stop.
Red Bulls coach Chris Armas sent attacking reinforcements in just after the hour mark looking for a potential winning goal. Amro Tarek, Ben Mines and Mathias Jorgensen came on and Jorgensen almost broke the deadlock in the 73rd minute following a giveaway by United's Julian Gressel, but the shot drifted wide of the far post.
The Red Bulls had more shots, 17-5, but couldn't solve Seitz, who had four saves.
New York is winless in its last three matches and 1-4-1 in its last six.