A sensational David Luiz free kick took Brazil into the World Cup semi-finals with a 2-1 victory over Colombia but the tournament hosts saw star striker Neymar carried off in agony.
Brazil's captain Thiago Silva will also be suspended for Tuesday's semi-final against Germany after he followed up his first World Cup goal with his second yellow card of the tournament.
Brazil are in the World Cup semi-finals for the first time in 12 years and coach Luiz Felipe Scolari is one step nearer his vow to win the country's sixth cup.
But Scolari buried his head in his hands when he saw Silva booked and faces an anxious wait for news of Neymar who was reportedly taken to hospital for tests.
Neymar was stretchered off with a back injury after being clattered by Colombia defender Juan Camilo Zuniga. Globo television said the Brazilian star was taken away in an ambulance.
WATCH: Thiago Silva puts Brazil in front
Colombia’s James Rodriguez extended his lead as the tournament’s top scorer with his sixth goal in five games from the penalty spot after Julio Cesar brought down Carlos Bacca.
But Colombia now leave and Brazil move on to only their second World Cup meeting with Germany, in Belo Horizonte on Tuesday. The Germans beat France 1-0 earlier in the day.
Roared off on by a fervent home crowd, the hosts made a fast start and were ahead inside seven minutes.
Just as in their last-16 clash with Chile, a finish at the back post from a Neymar corner opened the scoring as Silva escaped the clutches of Carlos Sanchez to bundle home.
WATCH: David Luiz's stunning free-kick
Silva then had defensive duties to do as he got the slightest of touches to Juan Cuadrado's drive to turn it behind as Colombia tried to react.
Jose Pekerman's men could have been further behind moments later, as David Ospina got down well to parry Hulk's effort before making a more comfortable save from Oscar.
Silva had to intervene once more to break up a flowing Colombia counter-attack led by Rodriguez, but Cuadrado's poor pass allowed the Brazilian captain to intercept when he had two free teammates waiting for a cross.
Ospina denied Hulk once more with another save low to his left before Neymar bent a free-kick inches over the crossbar as Brazil ended the half looking to kill the game off.
Chances at both ends dried up early on in the second half, despite the game continuing to be played at a frenetic pace.
WATCH: James Rodriguez pulls one back from the spot late on
Brazil were dealt a huge blow midway through the second-half when Silva was booked for barging into Ospina as he sought to clear the ball.
But Brazilian nerves were settled in the 69th minute when Luiz sent a wonderful dipping free-kick high past Ospina from fully 30 metres.
Yet, Colombia were back in the game 10 minutes from time when substitute Carlos Bacca was upended by Julio Cesar inside the area.
The Brazil goalkeeper was lucky just to see a yellow card from Spanish referee Carlos Velasco Carballo. But he could do nothing to stop Rodriguez rolling home his sixth goal of the tournament from the resulting penalty.
Scolari's men saw out the final few minutes, but there could be more bad news ahead as they wait for news of Neymar's fate.
Brazil captain Thiago Silva savoured the opening goal but rued the fact that his yellow card will keep him out of the semi-final.
“I am emotional because I give the team my heart and soul,” he said in a televised interview. “I am out the next game but Dante and Henrique can play well and fill my absence.”