Leandro Damiao fired a brace to lead Brazil into the Olympic semi-finals after they survived a major scare against nine-man Honduras.
The Internacional striker cancelled out Mario Martinez’s stunning opener, and after Neymar had done the same from the penalty spot following Roger Espinoza’s equally eye-catching 48th-minute finish.
Damiao netted his second on the hour mark to book a trip to Old Trafford on Tuesday evening. Honduras played a full part in a thrilling encounter at a packed St James’ Park despite having midfielder Wilmer Crisanto sent off with just 32 minutes gone and Espinoza at the death, both for two bookings.
Brazil should have been ahead with just 30 seconds played when Damiao burst free through the middle, but pushed his right-foot shot wide with only keeper Jose Mendoza to beat.
Oscar saw a second-minute effort blocked by Honduras skipper Johnny Leveron after good work by Neymar, who went close himself during a confident start.
However, the opening goal arrived at the other end after 12 minutes when Espinoza left Rafael da Silva and Sandro for dead before pulling the ball back for Maynor Figueroa to divert it into the path of Martinez, who thumped a sumptuous dipping volley past helpless keeper Gabriel.
Figueroa tested Gabriel with a powerfully-struck free-kick from distance, but the game turned in the 32nd when Crisanto was booked twice within a minute for fouls on Hulk and Neymar.
The Brazilians were back in the game within six minutes when, after full-back Arnold Peralta had failed to clear Hulk’s driven cross, Damiao tapped home the equaliser.
The 10 men hit back within three minutes of the restart when Espinoza cut inside from the right to curl a left-foot shot just inside the far post, but the lead was fleeting as Neymar converted from the spot after Damiao had been tripped by defender Jose Velasquez.
Brazil got their noses in front when Damiao blasted past Mendoza in the 60th.
* For breaking news, follow us on @Sport_360 or find us on Facebook.