TORONTO - One game and two totally different messages for the Vancouver Whitecaps and Toronto FC.

The Whitecaps (6-5-2) exited BMO Field with a big smile after hanging on for a wild 4-3 MLS win Saturday night, their third victory in a week after an up-and-down 1-3-2 run.

"Very proud," said Vancouver coach Carl Robinson, a former Toronto FC player. "A lot of character shown. A difficult place to come (play in). I know that more than anyone."

For Toronto (4-4-2), the evening was a painful lesson.

"Sometimes you've got to get punched in the face to realize we're not as good as I think we believed we were," said defender Drew Moor.

To add injury to insult, Toronto lost striker Jozy Altidore (hamstring) and midfielder Jonathan Osorio (ankle) to injury. Altidore injured himself taking a 35th-minute penalty that was saved by Vancouver 'keeper David Ousted. Osorio was helped off late in the second half.

Toronto came into the game with the second-stingiest defence in the league, having conceded just seven goals in nine games. But it shot itself in the foot early and trailed 2-0 after 18 minutes on goals by Kekuta Manneh and Christian Bolanos.

Sebastian Giovinco, with goals in the 37th and 66th minutes, pulled Toronto even, only to see Vancouver put its foot on the home side's neck yet again with goals from Manneh and captain Pedro Morales in the 70th and 72nd minutes.

Vancouver fullback Fraser Aird was sent off for a yellow card in the 76th minute and Toronto defender Drew Moor headed in a Giovinco corner in the 80th for his first TFC goal to set the stage for a rip-roaring finale. Toronto threw everything at Vancouver in the remaining minutes with goalkeeper Clint Irwin racing forward on several occasion.

Vancouver held on for its first ever win at BMO Field, before an exhausted crowd of 24,748.

Toronto outshot Vancouver 21-7 (10-5 in shots on target), had 60.7 per cent of the possession and 11 corners to the Whitecaps' none. But the Whitecaps somehow found a way to win, with Toronto lending a helping hand.

Ousted did his part, making some big saves aside from the penalty to keep his team ahead.

"It could have ended 7-7 and that would have been a spectacle," said Robinson.

Toronto dug itself a hole in the 12th minute when Damien Perquis' pass to Osorio was off-target. Manneh intercepted and made like Usain Bolt, leaving Toronto chasers in his dust before beating Irwin with a left-footed shot from just inside the penalty box.

Six minutes later, Erik Hurtado held off a defender and fed Manneh down the right channel. Irwin made the stop this time but the rebound went right to Bolanos, who hammered it home. Manneh made the play, beating Michael Bradley to head an Ousted clearance on to Hurtado.

Toronto coach Greg Vanney called his team's start "pathetic," blaming lapses in concentration for the careless giveaways.

"Everything we've done well up to this game, we were poor at ... It was too easy for them," he added.

"Not good enough, in any way," echoed Bradley, who said he took no positives from the game.

Asked if there was much discussion in the Toronto dressing room after the game, a steely-eyed Bradley replied: "There was plenty of talk."

Giovinco's two goals moved him into sole possession of the franchise record for career MLS goals with 30. Giovinco has had a hand in all 13 Toronto goals this season, scoring eight and assisting on the other five. But he too was clearly unhappy afterwards.

"At the start we seemed to have regressed to the way we were playing last year. (When) to win, we needed to have more than three goals," he said through an interpreter, referring to a leaky 2015 defence that gave up 58 goals. "To win we can't make mistakes like this. The (Vancouver) goals were easy."

It was his seventh multi-goal game in MLS. And it left him with 30 goals and 21 career assists in 43 matches, making him the fastest player in league history to have a hand in 50 goals (goals plus assists). Robbie Keane had held the previous record at 48 matches.

Perquis made up for his mistake on the first Vancouver goal with a marvellous 50-yard pass to set up Giovinco's first. The Italian moved the ball from one foot to another with a delightful first touch, turning to separate from a defender before beating Ousted with a left-footed shot in the 37th minute.

Bradley set up Toronto's second goal, intercepting a pass and then making a driving pass before finding Giovinco with a perfect through ball.

But Manneh then undressed the Toronto defence and Morales showed his class with a clinical finish to make it 4-2, before Moor scored.

In extending their winning streak to three, the Whitecaps have now won four of their last six. They snapped a three-game road losing run in the process.

Robinson still wants to see more consistency and some tighter defence from his team. But he likes what he sees.

"They're a good group in there. They enjoy coming to work every day and I enjoy making them better and putting demands on them," he said.

Follow @NeilMDavidson on Twitter