It was a win Philadelphia (28 points) needed as the team had gone three games without one, including a 1-1 draw earlier in the week with Colorado, the team sporting MLS' worst record. The Union moved into first place in the Eastern Conference, ahead of D.C. United (27 points).
Minnesota (21 points) dropped its first home game of the season.
Jamiro Monteiro, Haris Medunjanin, and Trusty scored for Philadelphia. Hassani Dotson and Kevin Molino scored the goals for Minnesota.
Trailing 2-1, Minnesota drew even in the 77th minute, when Abu Danladi took the ball down to the end line and cut it back to Molino, who buried it from 10 yards out to make it 2-2.
But just when it looked like that game would end even, Philadelphia took the lead back when Trusty got the game-winner, beating Brent Kallman to a cross, touching it once, then putting it away.
Philadelphia took a 1-0 lead when Monteiro put home a penalty kick in the 18th minute.
The kick was awarded after Kallman brought down Sergio Santos in the Minnesota penalty area. The goal also came after Minnesota had been peppering the Philadelphia goal.
Three times in a two-minute span, Angelo Rodriguez got off solid shots for the Loons, but he was stopped twice by goalie Andre Blake and once on a deflection off a Philadelphia defender.
Minnesota drew even 10 minutes later when Dotson half-volleyed a clear from the Philadelphia defense, drilling it from 20-yards out, off the goal post and into the back of the net.
Philadelphia took the lead back in the 44th minute with a wonderful free kick from Medunjanin from 20 yards out that curved around the wall and into the net.
Minnesota ended the first half with a 15-8 shots advantage and finished with a 29-14 edge.
Union strike late to down Minnesota United
Philadelphia and Minnesota United went back and forth at Allianz Field, with the Union scoring late to secure a 3-2 win on the road.