The No. 11-ranked Brazilians one spot ahead of Chile in the FIFA rankings scored from the only shot on net in the first half. But both teams came alive in a fast-paced final 45 minutes, keeping the noisy Rogers Centre crowd on its feet.
In the 56th minute, a shot from Robinho just a couple of minutes after he entered the game appeared destined for the net before Bravo dove to clear it.
Less than a minute later, Hulk sent a 20-yard shot off the crossbar.
The Brazilian contingent in the crowd roared whenever Barcelona striker Neymar had the ball, including a spectacular 60-yard run in the first half. Neymar looked poised to score in the 83rd minute with just the goalkeeper to beat only to trip over the ball in the box.
A chanting, singing crowd of more than 30,000 packed the Rogers Centre home of baseball's Toronto Blue Jays dressed in either the canary yellow jerseys of Brazil or the red and white of Chile.
The match was played on a temporary grass field.
Early in the game, Brazilian defender David Luiz picked up and replaced a huge chunk of dislodged turf, and then stamped it down with his foot.
A few minutes later, two Brazilians could be seen replacing a chunk of turf. By halftime, an official ran onto the field during every stoppage to tamp down loose pieces.
It marked Brazil's first game in Canada in almost 20 years and the first in Toronto. The Brazilians last played in Canada in June 1994 at Edmonton, settling for a 1-1 draw against the Canada.