RIO DE JANEIRO (AFP) - Neymar led Brazil into the semi-finals of the Olympics on Saturday with his first goal of the competition to edge the third of a trilogy of grudge matches with Colombia in the past three years 2-0 on Saturday.
The Barcelona star curled home an inch-perfect free kick after just 12 minutes, but was also lucky to escape with a yellow card for chopping down Andres Roa and provoking a brawl between both sets of players just before half-time.
The hosts controlled their emotions better after the break and Luan sealed the win with a dipping effort from outside the box seven minutes from time.
Brazil will face Honduras in Wednesday's semi-final in Rio after the Central Americans stunned South Korea 1-0 thanks to Alberth Elis' winner in Belo Horizonte.
Germany, who beat Portugal 4-0 earlier on Saturday, face Nigeria in the other semi-final after the Africans beat Denmark 2-0.
Victory keeps Brazil's quest for a maiden football gold medal on track. There is also the enticing possibility of a final against world champions Germany at the iconic Maracana next Saturday, just two years after the Germans inflicted a humiliating 7-1 thrashing on Brazil in the World Cup semi-finals.
Neymar missed that match having left in tears and on a stretcher with two broken vertebrae in his back to bring his home World Cup to a cruel end when Brazil dumped a James Rodriguez-inspired Colombia out of a bruising quarter-final two years ago that included 54 fouls.
Colombia got their revenge by ending Neymar's tournament prematurely once more at last year's Copa America, this time through suspension as the Brazilian lost his head at the end of a 1-0 defeat and aimed a head-butt at Jeison Murillo, resulting in a four-game ban.
Eased by the relief of avoiding another embarrassing exit on home soil with a 4-0 win over Denmark on Wednesday to win Group A after back-to-back 0-0 draws with Iraq and South Africa, Brazil started brightly.
Neymar, the poster boy of the Games, finally got off the mark at the fourth attempt when he curled home a free kick from 25 metres.
Unsurprisingly, the match then descended into a blood bath with Neymar being booked for sparking a brawl when he crudely chopped down Roa.
The 24-year-old received just a yellow card, but four Colombians also found themselves booked before half-time as they sought retribution.
Colombian coach Carlos Restrepo replaced two of those cautioned at the break, but Brazil again made the better start to the second period.
Cristian Bonilla rushed from his goal to block Manchester City's Gabriel Jesus and Renato Augusto's follow-up effort with an open goal to aim at was desperately blocked.
Colombian captain Bonilla made another fine save to parry Rodrigo Caio's header before Brazil coach Rogerio Micale switched from the daring 4-2-4 formation he had started the previous two games to 4-3-3 as Thiago Maia replaced Gabriel "Gabigol" Barbosa.
Despite their struggles early on in the tournament, Brazil have yet to concede and sealed a place in their third consecutive Olympic semi-final when Luan's effort from outside the area left Bonilla helpless.