There was controversy and a last-gasp winner in Rio de Janeiro as Thiago Silva featured for a Brazil side that booked their place in the Copa America quarter-finals.

The Chelsea defender had returned to the side last time out for the comfortable victory against Peru, having left the field injured during the Champions League final last month. He started once again alongside Marquinhos for Tite's side, with former Blues winger Juan Cuadrado among Colombia's starters for the Group B clash.

Brazil had started the tournament strongly and maintained their 100 per cent winning record at the Olympic Stadium, albeit in slightly more testing circumstances. They fell behind after 10 minutes when Porto's Luis Diaz fired in a brilliant bicycle kick from Cuadrado's right-sided cross to make it 1-0. Remarkably, that was the first goal the Selecao had conceded since October.

The home nation's response was lethargic and tinged with frustration, with Colombia keeper David Ospina not called into action until the end of the first half when he claimed a comfortable header from Richarlison.

Thiago Silva's night featured little defending following the early goal, with Brazil pushing and probing for a route back into the game up the other end of the field. Neymar struck the post after 70 minutes before half-time substitute Roberto Firmino finally levelled the scores with a front-post header that squirmed away from Ospina's grasp.

Colombian complaints centred on the referee's involvement in the build-up after the ball struck the official but he refused to stop play and those protests continued for some time, resulting in a massive 10 minutes of time added on at the end. That proved enough for Brazil to snatch a winner with virtually the last action as Casemiro found himself free to head in Neymar's corner from close range.

The victory guarantees Brazil's place in the last eight as Group B winners ahead of their final group game against Ecuador on Sunday.