David Accam scored the deciding goal early in the second half, and Eloy Room made one save in his debut as the Columbus Crew ended a 10-game winless streak with a 2-1 defeat of visiting Montreal on Saturday.
Accam broke a 1-1 tie in the 46th minute for the Crew (6-14-3, 21 points), who had eight losses and two ties since May 11 but now have four points in the past two matches. The Crew also ended a five-game (0-4-1) winless streak at home.
Montreal (9-11-3, 30) has lost four straight.
Accam scored after checking his run and taking a leading pass from Pedro Santos. The play was reviewed for Accam being offside, but stood. His fifth goal was his first in eight games since being traded by Philadelphia.
Montreal defender Bacary Sagna was issued a red card in the 55th minute for denial of an obvious goal scoring opportunity on Accam.
An exchange of headed set pieces leveled the score at 1 going into halftime.
Williams, returning after missing one game because of a concussion, was 6 yards out when he got on the end of a free kick by Wil Trapp and scored his second goal of the season after colliding with Montreal goalkeeper Evan Bush.
Room made his lone save four minutes later on a long shot by Daniel Lovitz. But he was unable to stop the tying goal by Diallo, who was unmarked at the top of the goal box to flick a corner kick by Saphir Taïder for his third goal, in the second minute of first-half stoppage time.
The Crew play at the New York Reds Bulls and Montreal hosts Philadelphia on July 27.