The five-time world champions twice went ahead only to see Canada equalise on each occasion before Real Madrid forward Robinho netted the winner.

Werder Bremen playmaker Diego opened the scoring after three minutes following Robinho's individual run, but Borussia Monchengladbach forward Rob Friend took advantage of an error by goalkeeper Julio Cesar to equalise after nine minutes.

Luis Fabiano restored the Selecao's advantage one minute before the interval but Canada levelled again 10 minutes into the second half through Deportivo La Coruna midfielder Julian De Guzman.

But soon after Robinho latched on to a loose ball before netting the winner.

Robinho attributed the display to an arduous season.

"I think some players felt the tiredness of the season, but I think the result is positive," he said.

Meanwhile, Adriano was happy to make his national team return.

"For me, wearing this shirt again is very important," he said.

"I know that I have to improve and work a lot, but being here again after all I suffered is very good news."

Brazil will now travel to Boston to face Venezuela on June 6 at Foxboro Stadium.

Qualifying for the 2010 World Cup resumes on June 14 against Paraguay before a crucial contest with Argentina on June 18.

Canada's next World Cup qualifying duel will be a two-leg series against St Vincent and the Grenadines on June 15 and 20.