Brazil will face Germany in the first FIFA World Cup semi-final after sinking Colombia 2-1 in Fortaleza.
The hosts made the perfect start when Thiago Silva turned in the opening goal after seven minutes and should have added to their advantage before the break. David Luiz's 69th-minute free-kick seemed to end the hopes of José Nestor Pekerman's men but James Rodríguez's penalty then set up a frantic final ten minutes that the host nation just survived.
Roared on by the home support, Brazil started with verve and were rewarded when Neymar's inswinging corner evaded everyone except an unmarked Thiago Silva at the back post, the defender bundling the ball in from close range.
Juan Cuadrado's deflected drive nearly levelled immediately but thereafter it was one-way traffic with David Ospina key to Colombia's resistance, saving well twice from fierce efforts from Hulk.
The second half was a more industrious affair with plenty of stoppages and it was always likely to take a moment of brilliance to conjure the second goal of the game. David Luiz provided that inspiration with a sensational driven free-kick that whistled past Ospina from 25 metres.
Colombia did not buckle, though, and earned a penalty when Júlio César felled substitute Carlos Bacca from James Rodríguez's cute pass. Rodríguez confidently converted – extending his tournament-leading goal tally to six – and Colombia then laid siege to the hosts' goal for the remainder of a pulsating contest.
Luiz Felipe Scolari's charges stood firm and will now face Germany in Belo Horizonte on Tuesday, though they will do so without the suspended Thiago Silva.