David Villa scored a brace as New York City finally ended their winless run in MLS, while Montreal Impact were held.
Villa struck twice in the first half as Patrick Vieira’s City won for the first time in eight games, beating the Vancouver Whitecaps 3-2 at Yankee Stadium on Saturday.
The Spaniard’s goals helped City to just their second win of the season, one that was enough to move them into sixth in the Eastern Conference.
But that was not before the hosts conceded in the first minute as Octavio Rivero capitalised on a Josh Saunders error to make it 1-0.
However, they would be up at the break thanks to Villa, whose two smart finishes – the latter a flying volley from an Andrea Pirlo corner – put City ahead.
Christian Bolanos levelled for the Whitecaps when he put away the rebound after his penalty was saved in the 63rd minute.
But substitute Steven Mendoza picked out the bottom corner with 17 minutes remaining to see the hosts claim three points.
Didier Drogba opened the scoring but Eastern Conference leaders Montreal Impact were held to a 2-2 draw at home to Colorado Rapids.
The Chelsea great opened the scoring with a 25-yard free-kick, but Shkelzen Gashi levelled early in the second half.
Maxim Tissot restored Impact’s lead with a long-range drive, only for that to be cancelled out by Bobby Burling.
Philadelphia Union could have moved top, but they were held to a 1-1 draw by San Jose Earthquakes, while lowly Chicago Fire’s struggles continued as they drew 1-1 with DC United.
In the Western Conference, Real Salt Lake moved level on points with the leaders thanks to a 2-1 win over Houston Dynamo.
Carlos Rivas’ late equaliser saw Orlando City salvage a 2-2 draw at New England Revolution and Jordan Morris’ 88th-minute winner helped Seattle Sounders beat Columbus Crew 1-0.