Barcelona superstar Neymar scored in each half as Brazil recovered from conceding an early Marcelo own goal to set up a win before hordes of golden-shirted fans at the 61,600 Corinthians Arena in Sao Paulo.
Chelsea midfielder Oscar put the seal on the win with a late strike from distance to trigger delirium.
The host nation’s Group A victory was greeted by an explosion of fireworks across Sao Paulo, a sharp contrast to several hours earlier when riot police fired tear gas and stun grenades to disperse angry protests.
But a largely free-flowing tournament-opener was shrouded in controversy, with Brazil’s winner coming courtesy of a dubious penalty when Croatia defender Dejan Lovren was harshly adjudged to have shoved Fred over.
The hosts, chasing a record sixth World Cup, had also enjoyed a degree of good fortune in the first half when Neymar received only a yellow card for elbowing Croatia’s playmaker Luka Modric.
Moments later Neymar scored Brazil’s equaliser to settle home nerves after Marcelo’s 11th-minute own goal.
The match had kicked off after a spine-tingling rendition of Brazil’s national anthem with fans — exhorted to unite behind the team by coach Luiz Felipe Scolari — roaring their support for the “Selecao.”
Even after the music stopped, fans and players alike put their hearts and souls into one more verse.
Brazil captain Thiago Silva epitomised the mood, bellowing a rallying cry to his team-mates as they embarked on their quest to earn first title on home soil.
The victory provided a euphoric counterpoint to scenes earlier in the day when violent protests in Sao Paulo had threatened a stormy start to the month-long football extravaganza.
A torrid seven-year build-up bedevilled by delays and public anger at the tournament’s $11 billion (8m euros) cost, and scattered protests took place on Thursday in several of the cities which will host World Cup games.
The worst violence took place just a few kilometres (miles) from the opening match, as anarchist demonstrators in black shirts and masks lit bonfires of rubbish after armoured police sought to quell protests.
But Sao Paulo and other cities largely went quiet as the game started. Yellow and green flags hung from many buildings.
Gutemberg Santos, 42, said his t-shirts and flags had sold like hot cakes. “It has been a good day, everyone is happy,” he said.
Protesters who last year brought chaos to the Confederations Cup rehearsal tournament had vowed to march on the Sao Paulo stadium.
But riot police responded forcefully, chasing protesters up a main avenue and firing tear gas in the middle of oncoming traffic, forcing cars decorated with the Brazilian flag to weave their way through the chaos.
A cannister fired by police hit and injured a CNN journalist and an AFP correspondent saw one woman in tears clutching her arm.
In Rio de Janeiro, striking ground staff briefly blocked a road leading to the city’s international airport.
Around 1,000 protesters also gathered in the city centre, a small group of them scuffling with police, who arrested four people.
A total of 64 games will culminate with the July 13 final in Rio de Janeiro’s Maracana Stadium next month.
Saturday’s action promises more drama, with world champions Spain facing the Netherlands in a repeat of the 2010 World Cup final in the northern city of Salvador in Group B.
Group B’s other encounter sees dark horses Chile take on Australia. In the day’s other remaining game, Mexico play Cameroon in Group A.