Croatia took a shock lead early on thanks to Marcelo's own goal, but Neymar bagged a brace before Oscar tacked on a stoppage-time goal to see Brazil stave off some late pressure from the European side and take an early lead in Group A.
It was Brazil's ninth straight win in World Cup openers, but the hosts made difficult work of it by conceding the opening goal in only the 11th minute.
Ivica Olic found space on the left flank and served a cross into the danger area. Nikica Jelavic misfired on the shot but directed it toward Marcelo, who inadvertently turned the ball into his own net from close range.
Brazil nearly leveled the score in the 23rd minute when Neymar got to the endline and squared a pass that was cleared by the Croatian defense, but it went only as far as Oscar at the top of the penalty area. The Chelsea attacker rifled a first-time shot with a his left foot that looked destined for the back of the net, but Stipe Pletikosa parried the attempt to safety.
The hosts eventually found their equalizer six minutes later when they capitalized on Croatia's giveaway in the midfield, allowing Oscar to slip a pass into Neymar's path. The Barcelona attacker drifted to the left side of the arc at the top of box and sliced a left-footed shot that trickled past Pletikosa and grazed the inside of the post on its way into the back of the net.
The match hit a lull but eventually kick started with 20 minutes left when Brazil was handed a generous penalty decision. Fred flopped under minimal contact from Dejan Lovren, but referee Yuchin Nishimura pointed to the spot and Neymar converted the ensuing attempt to put the hosts in front in the 71st minute.
Croatia pushed in search of a tying goal and came close on several occasions only to be denied by a few key saves from Julio Cesar.
But Brazil's day would not be ruined as Oscar wrapped up the affair in stoppage time, poking a home a shot from outside the box following a counterattack to hand the hosts the win by a flattering scoreline.
Group A action resumes on Friday when Cameroon takes on Mexico.
Brazil's next contest takes place on Tuesday when it faces El Tri while Croatia will hope to bounce back against Cameroon on Wednesday.