Ignacio Piatti completed the Montreal Impact's comeback with a stoppage-time winner from distance in a 2-1 victory at the Chicago Fire on Saturday.
Kennedy Igboananike opened the scoring for Chicago in the 29th minute with a fine curling effort from the side of the 18-yard box.
But Montreal were back level in the second half as Didier Drogba, who came on as a substitute minutes earlier, scored his first goal of the season with a backheeled finish.
Chicago went close to taking the lead again but Evan Bush did well to stop Alex Morrell's shot, and in the 91st minute Piatti's powerful shot from the corner of the box stole all three points for the Eastern Conference leaders.
Justin Meram had a goal and two assists as Columbus Crew SC became the final MLS team to win this season, holding on to defeat New York City FC 3-2.
Ethan Finlay ran on to Meram's deflected cross to score his first goal of the year in the seventh minute, but David Villa combined with former Spain teammate Andoni Iraola to bring NYCFC level.
Kei Kamara restored Columbus' lead three minutes after halftime with a low shot from just inside the box, and Meram seemed to have put the game away by tapping home in the 80th minute.
But Columbus endured a nervy finish after defender Tyson Wahl was whistled for bringing down Kwadwo Poku in the box, and referree Ted Unkel mistakenly sent off Michael Parkhurst instead of Wahl.
Villa scored his second goal from the penalty spot and NYCFC also had a late chance to tie it, but Columbus keeper Steve Clark stopped Patrick Mullins from close range.
Dominique Badji scored his first goal of the season in the 82nd minute to help the Colorado Rapids beat the New York Red Bulls 2-1 on a snow-covered field.
Jermaine Jones won the ball in the New York end and Luis Solignac fed Badji, who rolled the ball across goalkeeper Luis Robles just inside the right post.
The start was delayed and halftime was extended to plow the field. Stoppage time was increased to six minutes so the lines could be shoveled and an orange ball was used.
Ronald Zubar knocked in a header in the 60th minute to end the Red Bulls' scoreless streak of more than 4 matches. Zubar's first goal, on a cross from Sacha Kljestan, was the first goal for the Red Bulls on the road this season and the first at home allowed by the Rapids.
New York had been shut out in four straight games and five times this season. The Red Bulls hadn't scored since a 4-3 victory over Houston in their third game on March 19, getting the final goal in the 83rd minute.
Jones scored 21 minutes into his Colorado debut, rolling the ball in after a cross out of traffic from the goal line by Mekeil Williams.
Sebastian Giovinco's goal in the first minute stood up in Toronto FC's 1-0 victory over D.C. United.
Jozy Altidore got to the ball inside the box to the right of goalkeeper Travis Worra and rolled a cross that a sliding Marco Delgado reached and redirected a bit to his left.
Giovinco was on the spot to tap it in for his fourth goal of the season after 57 seconds.
That was enough for Toronto to end a three-match winless streak as goalkeeper Clint Irwin made three saves.
The toughest save came in the 30th minute when he got a hand on a tight shot by Patrick Nyarko out of traffic in front of the net.
In Seattle, Chad Marshall headed in a corner kick late in the first half and hometown rookie Jordan Morris scored his first career goal to help the Sounders beat Philadelphia 2-1.
Seattle is 2-0-1 in its last three games after losing its first three.
Marshall's second goal in two games came in the 41st minute. Andreas Ivanschitz floated a corner kick from the right side across the six-yard box. Marshall, playing on the top left side of the six, headed it in.
Morris, from Mercer Island just across Lake Washington from Seattle, made it 2-0 in the 71st minute.
Philadelphia, playing with 10 men after Roland Alberg was sent off in in the 53rd minute with his second yellow card of the night, cut it to 2-1 on Sebastien LeToux's goal in the 73rd minute.
Goal-producing Joao Plata set up Manuel Martinez for his first goal as Real Salt Lake beat Vancouver 1-0.
Plata has scored or assisted on eight of Salt Lake's 10 goals this season. He sliced through the Whitecaps' defense before rolling the ball to Martinez on his left. Martinez stopped it, crossed defender Kendall Watson and steered it past diving goalkeeper David Ousted.
Plata has four goals and four assists.
Nick Rimando made four saves for Salt Lake in his second shutout.
Fanendo Adi scored two second-half goals in Portland's 3-1 victory over San Jose.
Jack McInerney also scored to help Portland end a five-game winless streak.
Chris Wondolowski scored for San Jose.
Portland, already missing Darlington Nagbe and Liam Ridgewell to injuries, and Dairon Asprilla only healthy enough for a spot on the bench, lost two more players to injury.
Goalkeeper Adam Kwarasey left in the 50th minute with a hand injury, and midfielder Darren Mattocks was substituted in the 63rd minute with an apparent head injury after a collision with San Jose defender Victor Bernardez.