Thiago Silva and David Luiz score for Brazil, Neymar carried off; James Rodriguez late goal fails to save Colombia.

David Silva's screaming free kick gave Brazil a 2-1 win over Colombia on Friday to seal a World Cup semi-final place but the favourites saw Neymar stretchered off and captain Thiago Silva suspended for the next clash.

Silva bundled over a Neymar corner kick in the seventh minute to put his country ahead.

But he earned his second yellow card of the tournament in the second half for barging into Colombia goalkeeper David Ospina and will misss the semi-final against Germany next Tuesday.

Luiz stepped up to smash an unstoppable 30 metre free kick past Ospina in the 78th minute. But Neymar was carried off in agony late in the game after a rough challenge from Colombia defender Juan Camillo Zuniga.

More In: FIFA 2014 | Football | Sport