A partir daí, o jogo ficou mais pegado e, aos 45, Barrios foi advertido com cartão amarelo por entrada fora do lance em Neymar, que passou a sofrer seguidas faltas dos colombianos.
O técnico colombiano Carlos Restrepo fez duas substituições no intervalo, mas foi o Brasil que criou a primeira chance com um chute de Neymar espalmado por Bonilla.
As alterações de Restrepo, no entanto, deixaram os colombianos mais perigosos no início da etapa complementar e, aos cinco minutos, Borja, uma das trocas colombianas, bateu firme e Weverton teve de trabalhar para evitar o empate da Colômbia.
Três minutos depois, o árbitro turco Cuneyt Carkin deixou de marcar uma aparente mão na bola de Balanta dentro da área, provocando protestos dos torcedores na Arena Corinthians.
Na maior parte da segunda etapa, o jogo ficou morno, com raras exceções, como aos 20 minutos, quando a seleção cobrou falta pela direita, Rodrigo Caio cabeceou e obrigou Bonilla a fazer grande defesa.
A vitória e a classificação brasileira foram seladas aos 38 minutos, quando Luan bateu colocado da entrada da área e encobriu Bonilla, garantindo a vaga entre os quatro melhores da Olimpíada.
Com a vitória, o Brasil segue na busca pela inédita medalha de ouro olímpica e enfrentará na semifinal a seleção de Honduras, que neste sábado derrotou a Coreia do Sul por 1 x 0.
Na outra semifinal, a Alemanha, que goleou Portugal por 4 x 0, duelará com a Nigéria, que passou pela Dinamarca por 2 x 0, por uma vaga na disputa pela medalha de ouro.