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 cup for a sixth time.
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.
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.
Also Read
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.
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 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.