Mathieu Choiniere scored twice as CF Montreal defeated Toronto FC 3-2 Sunday, handing TFC a franchise-record ninth straight loss in all competitions.
Federico Bernardeschi had two goals in a losing cause for Toronto, with his second coming in injury time.
Toronto (3-12-10) is now winless in 12 games (0-9-3) and has just one win in its last 18 outings (1-13-4) in all competitions.
Montreal (10-12-2) had collected just five of a possible 36 points on the road coming into the game but looked like a world-beater in comparison to the home side in the first half.
Down 2-0 at the break, Toronto mounted a comeback in the second half and cut the deficit to one goal. But the rally was essentially snuffed out when fullback Raoul Petretta was sent off in the 77th minute for bundling down Lassi Lappalainen in the box with Montreal on a three-on-one break.
Choiniere beat Tomas Romero from the penalty spot to end the drama. It was his fourth goal of the season.
Toronto was booed off the field at halftime, trailing 2-0 without recording a shot on goal.
With Lorenzo Insigne providing a spark off the bench, Bernardeschi scored a highlight-reel goal from distance in the 66th minute to make it 2-1. Taking a pass from Insigne, Bernardeschi curled a shot into the top corner of the goal to end Toronto's 685-minute goal drought.
It was Bernardeschi's first goal since April 1. He now has five on the season.
Toronto had not scored since June 24 when Deandre Kerr was on target in a 2-1 loss at New England that marked Bob Bradley's final outing as head coach and sporting director. Bernardeschi's strike was the first for Toronto under interim coach Terry Dunfield.
TFC, outscored 13-0 in July in losing six straight, has not won since May 27, a 2-1 decision over visiting D.C. United.
Choiniere scored in the 18th minute for Montreal, which also benefited from a 25th-minute Aime Mabika own goal.
Canadian striker Jules-Anthony Vilsaint, making his first MLS start, was heavily involved in Montreal's first two goals. But after the bright start, the 20-year-old limped off with an injury in the 37th minute.
Toronto had more of the ball in the opening 10 minutes Sunday but then found itself on the back foot as Montreal took control.
The visitors went ahead in the 18th minute on their first shot on target. A long pass from a Montreal defender found Vilsaint whose shot from outside the penalty box hit the goalpost, then off the back of Romero. The rebound eventually bounced back in front and Choiniere beat fullback Brandon Servania to poke it in.
Vilsaint was involved in Montreal's second goal in the 25th minute. After a poor Romero goal kick came straight back in his direction, Vilsaint's shot was saved by a diving Romero but the rebound went in off Mabika as he tried to beat Kwadwo Opoku to the ball.
It could have been 3-0 in the 40th but Bryce Duke's header hit the crossbar.
Insigne, who had been sidelined by injury since July 1, entered the game to cheers in the 60th minute along with veteran forward C.J. Sapong.
Montreal arrived in 10th place in the Eastern Conference, one place and one point below the playoff line. Toronto was another four places and 10 points below.
Montreal's form has also been rocky of late with just one win in its previous seven outings (1-4-2) in all competitions.
On the plus side, Montreal had won three straight over Toronto and was 5-1-0 in the previous six league meetings. Toronto had lost twice already to Montreal this season, beaten 2-1 on May 9 at BMO Field in Canadian Championship play and 2-0 on May 13 in league play at Stade Saputo.
Captain Michael Bradley, Bob's son, returned to the Toronto starting lineup after a lengthy injury absence while there was a first start for newly acquired forward Prince Owusu. The German showed flashes of what he has to offer but had next to no service.
South African international striker Cassius Mailula, another new signing, was on the bench to start.
The 36-year-old Bradley last played April 8, missing the last 20 games in all competitions with a hamstring injury that required surgery. Perhaps understandably, he looked rusty and was replaced at halftime along with fellow midfielder Franco Ibarra.
Montreal started six Canadians compared to two for Toronto.
Romero got the start in goal with No. 1 Sean Johnson out with a broken hand and No. 3 Greg Ranjitsingh sidelined by a lower body injury. Luka Gavran served as backup.
TFC was also missing injured defender Cristian Gutierrez, midfielder Latif Blessing and forward Adama Diomande.
Montreal was missing Honduran international forward Romell Quioto (hamstring).
Captain Sam Piette made his 132nd start for Montreal, extending his club record for an outfield player. It was also his 149th regular-season appearance for Montreal, two back of Patrice Bernier's club record by an outfield player.
Both teams return to action next Saturday with Toronto visiting Columbus and Montreal hosting New England.