TORONTO -- The night looked destined to be one of Toronto FC's worst performances in recent history. Instead, it turned into one of the team's biggest comebacks.

Nick Hagglund, with a pair, Jonathan Osorio, and Victor Vasquez all scored second-half goals to erase a 3-0 deficit in a roller-coaster 4-4 draw against D.C. United on Wednesday.

Yamil Asad scored twice, while Paul Arriola and Darren Matt had one apiece for United.

D.C. United arrived in Toronto with just one win in their last five games, while Toronto had lost just one of its previous four matches. And for a horrible first half, Toronto looked nothing like an MLS Cup champion in front of a disgruntled crowd of 23,011, disorganized on defence and out of synch on offence.

Asad scored in the 12th minute, finishing a string of a dozen D.C. United tic-tac-toe passes that sliced through Toronto's jumbled defence.

Arriola doubled the visitors' lead five minutes later on a counterattack. Toronto FC was pleading for a penalty after Osorio went down in the box, while United was racing the other way. Arriola headed in a cross from Zoltan Stieber, and then put a finger to his lips to shush the BMO Field crowd -- an unnecessary gesture, as the crowd was already in stunned silence.

Mattocks scored in the 45th minute on a horrible defensive breakdown by Toronto. Eric Zavaleta was about to clear the ball when he had it stolen from behind, and Mattocks beat a Michael Bradley tackle attempt to score from close in.

Playing their first game on the pristine new grass at BMO Field, the Reds walked off the pitch at halftime to a chorus of boos.

Osorio finally got Toronto on the scoreboard in the 54th minute when he connected on a cross from Ryan Telfer just inside the 18-yard box.

Vasquez gave the crowd renewed hope in the 64th minute, when Sebastian Giovinco's shot banged off the crossbar and fell virtually at his feet. Vasquez one-timed it for an easy goal.

Hagglund tied it up in the 86th minute, racing up from the back line to connect on a cross from Justin Morrow.

Asad scored what looked to be the dagger in the 90th minute, when Patrick Mullins found him unmarked in front of the net. But on a night that was a scorekeeper's worst nightmare, Hagglund tied it again seconds later when he connected on a cross from Osorio.

Toronto had a couple of great couple of chances in the game's early minutes. Vazquez just missed on a shot from close in, then a minute later a United defender knocked the ball onto the foot of an onrushing Nicolas Hasler, who recently returned from injury. United's 'keeper David Ousted stretched and just got his fingertips on the ball to push it out of harm's way.

United has now played 10 of their last 12 games on the road with their new stadium, Audi Field, set to open July 14.