Goals from Thiago Silva and David Luiz, the latter a brilliant free-kick, took Brazil through to the last four - and a Belo Horizonte showdown with Germany - with a 2-1 victory over Colombia.