Two goals from Leandro Damiao helped the tournament favourites overcome a battling display from the underdogs, who had Wilmer Crisanto and Roger Espinoza sent off
Honduras took a surprise lead when Mario Martinez chipped home from close range, before Leandro Damiao prodded into an empty net to level. The Central Americans re-took the lead through Roger Espinoza before a Neymar spot-kick and a second from Damiao earned the Brazilians the victory.
Brazil made the faster start to proceedings and should have taken the lead 30 seconds into the game, when Damiao struck well wide when one-on-one with the Honduras keeper Jose Espinoza.
The Selecao were shocked on 12 minutes when Martinez lobbed Brazil keeper Gabriel and gave the underdogs the advantage after a challenge on Maynor Figueroa had allowed the ball to squirm into his path.
Brazil responded in typically flamboyant fashion, Damiao fired well over from a free-kick before Oscar and Neymar almost produced an equaliser when the two attempted to play an intricate one-two, but the Santos striker failed to latch on to the midfielder's return pass.
Honduras' task increased in difficulty midway through the first period when Wilmer Crisanto was sent-off after collecting two bookings in the space of two minutes. The defender was first cautioned for a clumsy challenge on Hulk, before being shown the red card for a mistimed tackle on Neymar.
Los Catcharos were made to pay for Crisanto's indiscipline five minutes later, as Brazilian levelled when Hulk broke free down the right hand side of the box before cutting the ball back into the path of Damiao who prodded into an empty net from close range.
Despite the equaliser, Brazilian coach Mario Menezes made a strange substitution when he brought on midfielder Danilo in place of Tottenham Hostpur's Sandro.
The two sides headed to the interval on level terms, but the stalemate did not last long, as three minutes into the second half Espinoza cut in from the right hand side before an unleashing a curling effort that flew past a helpless Gabriel to put the Central Americans back in front.
Honduras' lead lasted only two minutes, however, as Neymar restored parity from the penalty spot after Jose Velasquez tripped Damiao inside the area following a poor pass from Figueroa.
After a brave display, the 10 men of Honduras began to wilt slightly, and the Brazilians finally took the lead when Neymar played in Damiao, who turned excellently inside the area before powering an effort past Mendoza and into the bottom corner.
Chances became few and far between as the game developed into a scrappy encounter, with multiple yellow cards shown to players from both sides.
Honduras' numerical disadvantage had began to tell as they game limped to its conclusion as right on 90 minutes Espinoza was sent off for a second yellow card for a cynical trip on Oscar.
That dismissal ended any hopes the Hondurans had of mounting a comeback, but Luis Suarez's men can be mightily proud of an effort that has seen them defeat Spain and give the tournament favorites an extremely large scare.