Cory Burke scored a last-gasp winner as the Philadelphia Union returned to the top of the Eastern Conference after beating NYCFC 2-1 at Subaru Park.
Burke scored the winner in fortunate fashion as Jose Martinez's effort took a deflection off of the forward to wrongfoot Sean Johnson and find the back of the net.
That was only part of the chaotic closing to the game as NYCFC were awarded a penalty for a handball on Kai Wagner in the 87th minute. It was a decision that seemed harsh. Tati Castellanos stepped up and scored the penalty to level the game in the final minute of normal time.
Mikael Uhre had initially given the Union the lead in the opening ten minutes of the game. He latched onto Alejandro Bedoya's cross, and the ball hit him in his stride as it went beyond Johnson.
Jim Curtin named an unchanged starting XI following the draw to FC Cincinnati, while Tati Castellanos, Talles Magno and Maxi Moralez all started in attack for NYCFC.
In the ninth minute, Mikael Uhre gave the Union the lead. A long ball down the right side was latched onto by Alejandro Bedoya, who played a low pass towards the centre of the penalty area. Uhre was competing with the NYCFC defender to get the final touch, and it hit him in his stride before finding the bottom corner.
Uhre had an incredible opportunity to score his second in the 16th minute. Bedoya turned provider again as his attempted shot was scuffed but managed to make its way beyond a crowded penalty area. The only player to react was Uhre, who got in behind to get on the end of the ball. He had the entire goal at his mercy but could only hit it straight at Sean Johnson, who quickly reacted to get a foot on the ball.
Jack Elliott came close moments later as Johnson was on hand to keep the score at just 1-0. Kai Wagner's free-kick into the centre of the area saw Elliott get away from his man and head the ball down into the ground. It took a favourable bounce towards the goal, but the NYCFC goalkeeper made sure he could push it over the bar.
Julian Carranza was the next man to be denied by Johnson in the 30th minute. Daniel Gazdag caught the NYCFC defence out as he managed to flick the ball over two players before latching back onto the ball. He had two options and decided to lay it off to Carranza. The Argentinian fired his effort towards the near post, but Johnson was on hand to push it away.
HALF-TIME: Philadelphia Union 1-0 NYCFC
Magno forced Andre Blake into a save in the 55th minute. His smart footwork allowed him to work his way around a couple of players before playing a one-two. Magno decided to shoot from the edge of the area, but it was tame and straight at Blake.
The next opportunity of note came in the 84th minute, and it was from Magno again. However, his effort from 20 yards after working some space was straight at Blake, who comfortably made the save.
During the closing minutes of the game, things burst into life.
In the 87th minute, NYCFC were awarded a penalty for a handball. Anton Tinnherholm got to the right byline before trying to cut a lofted cross back into the penalty area. As the cross was on its way, it hit the arm of the sliding Wagner, who was just a few feet away. After initially waving away the protests from the visiting players, the referee spoke to his linesman and awarded the penalty kick.
After a couple of minutes, Castellanos was the man to step up and sent Blake the wrong way as he slotted his spot-kick into the left bottom corner.
During stoppage time, Magno had another chance, but his shot was tame again. The winger managed to run into space before making his way into the penalty area. He got beyond a Union defender before aiming his effort at the goal. However, it trickled right at Blake, who comfortably saved it.
In the dying moments of the game, Cory Burke, who was a second-half substitute, restored the Union lead. Jose Martinez received the ball from range and decided to try his luck. The effort took a deflection off of Burke, which wrong-footed Johnson as the ball found the back of the net.
That was not the end of the drama though, as the linesman believed Burke to be in an offside position. However, VAR told the official to check his monitor, and after viewing the play, he awarded the Union match-winner.
Burke almost added his second and a Union third moments later as he got in behind the NYCFC defence, but his effort was saved by the feet of Johnson.
With Subaru Park bouncing, everything almost came down to a crashing end in the tenth minute of second-half stoppage time as VAR wanted to check for a potential handball against Nathan Harriel. The referee seemed adamant that there was nothing the defender could do as the ball was deflected into his arm as the two players were competing for the ball. After a lengthy wait, the referee waved off the claims, and he blew the full-time whistle.
FULL-TIME: Philadelphia Union 2-1 NYCFC
Philadelphia Union: Blake, Harriel, Glesnes, Elliott, Wagner, Martinez, Bedoya, Flach, Gazdag, Uhre (Burke 66'), Carranza
Unused Substitutes: Freese, Bendik, Real, Findlay, Turner, Mbaizo, Donovan
NYCFC: Johnson, Gray (Tinnerholm 46'), Chanot, Callens, Gloster (Amundsen 46'), Morales, Acevedo (Heber 81'), Rodriguez (Pereira 69'), Moralez, Magno, Castellanos
Unused Substitutes: Andrade, Barraza, Jasson, Zealem, Haak