Luciano Acosta scored a hat-trick but Wayne Rooney was the hero as DC United overcame Orlando City in stoppage time, while David Villa helped New York City beat reigning MLS Cup champions Toronto.

Former Manchester United and England captain Rooney produced a moment of magic in the 96th minute to stop Orlando and lift DC to a dramatic 3-2 victory.

Orlando looked set to snatch all three points at Audi Field in Washington on Sunday, when DC goalkeeper David Ousted pushed forward for a corner and vacated an empty net.

Will Johnson broke free on the counter and had the goal at his mercy but Rooney chased back and won a last-ditch tackle just inside the half-way line to prevent a certain winner.

That triggered an unbelievable sequence as United and England's all-time leading scorer then got to his feet and played a stunning long ball to Acosta, who rose highest to complete his hat-trick in the sixth minute of stoppage time.

It was a valuable win for DC, who extended their unbeaten streak to three matches and moved within nine points of the play-off spots in the Eastern Conference, while Orlando remain eighth.

In Toronto, New York emerged 3-2 winners courtesy of Ismael Tajouri-Shradi's 88th-minute goal against the 10-man hosts at BMO Field.

United States international and Toronto star Jozy Altidore saw red for kicking out in the 11th minute and Villa – returning after missing seven games through injury – broke the deadlock four minutes later.

Sebastian Giovinco and Tajouri-Shradi traded goals as NYC took a 2-1 lead into the interval, before Victor Vazquez restored parity for Toronto six minutes into the second half.

New York, however, stayed within a point of Eastern Conference leaders Atlanta United thanks to Tajouri-Shradi's thunderous late effort.

Meanwhile, Seattle Sounders won their fifth successive match after upstaging Western Conference pacesetters Dallas 2-1 in a fiery clash.