Brazil have advanced into the Olympic semi-finals by beating nine-man Honduras 3-2 this afternoon.

Brazil could have taken the lead within the opening minutes as Leandro Damiao was sent through on goal, but he put his effort wide.

It was Honduras who took the lead, however, when the ball fell to Mario Martinez in the box, and his first time volley looped over Gabriel in the Brazil goal.

As if keeping a lead against Brazil for 80 minutes wasn't hard enough, Honduras made it even harder on themselves when Wilmer Crisanto received two yellows in the space of 30 seconds, the second of which came for a foul on Neymar.

Brazil took full advantage as Damiao took advantage of a moment of hesitation in the Honduras box to poke in from close range.

Honduras responded at the start of the second half, however, retaking the lead through Roger Espinoza's effort. Once again, though, the referee played a big part in Brazil's comeback, awarding a penalty to the South Americans just two minutes later.

Neymar stepped up and fired his spot kick past Mendoza to level the sides once more. Just ten minutes later, Brazil took the lead for the first time as Neymar fed Damiao, who turned his marker before slotting the ball home.

The final nail was put in the coffin of Honduras in the 90th minute as Espinoza was shown a yellow card to reduce his side to just nine men, and Brazil saw the match out to set up a semi-final against either Great Britain or Korea.