Reigning MLS Cup winners New York City continued their recent slump after suffering a third straight loss, going down 3-1 at home to playoff hopefuls Charlotte FC.
Charlotte's win moves them up to 10th in the Eastern Conference, with the visitors scoring twice in the final quarter of an hour to claim victory.
The defeat means City have only managed one point from their past four games and sit third in the east with 42 points from 25 games.
Karol Swiderski had put Charlotte ahead in the fourth minute despite goalkeeper Sean Johnson's best efforts on the line, but City levelled before the half hour mark via Maxime Chanot's 30-yard strike into the top corner.
City's Anton Tinnerholm struck the crossbar from range before Charlotte found an avenue to victory with Swiderski's clever back-heel for Brandt Bronico to restore their lead in the 77th minute.
The visitors won an injury time penalty after video review which ex-Leicester City defender Christian Fuchs coolly converted to seal all three points.
Domenico Criscito lashed in a spectacular 75th-minute equaliser to earn Toronto a 2-2 draw with New England Revolution.
Filippo Bernadeschi had put Toronto ahead with a 31st-minute spotkick, but the Revs replied with goals either side of half-time from Tom McNamara and Justin Rennicks.
But Criscito intervened when Toronto took a corner short to Michael Bradley who lobbed to the edge of the box towards the former Italy international, who rifled in a left-foot volley.
Eastern Conference leaders Philadelphia Union were beaten 1-0 by FC Dallas with US international Jesus Ferreira scoring the only goal in the 34th minute.
Paul Arriolo broke down the right flank and passed centrally for Ferreira, who showed good skill to create space inside the box and fire a low strike past Union goalkeeper Andre Blake.
New York Red Bulls reinforced their status as playoffs contenders with a 2-1 win at struggling Atlanta United while Vancouver Whitecaps defeated Colorado Rapids 2-1.