David Luiz thundered home one of the World Cup's finest goals as Brazil clung on in an enthralling battle.
However, the victory was tinged with concern after star man Neymar left the field on a stretcher in the closing stages and was taken to hospital with a back injury.
The 22-year-old, so key to the Selecao, went to ground in agony during the closing stages after taking a knee to the back from Juan Zuniga, leaving the field in tears on a stretcher.
Brazil will be sweating on their star man's fitness ahead of their semi-final against Germany, which captain Thiago Silva will definitely miss after incurring a suspension for his booking at the Estadio Castelao.
The skipper played a key role in the Selecao's progression in Fortaleza, though, defending resolutely after opening the scoring inside seven minutes.
It was a lead Brazil worked hard to extend and, having seen a Mario Yepes goal ruled out for offside, struck with aplomb midway through the second half, with Luiz sending home an outstanding 30-yard free-kick to send the nation into delirium.
James Rodriguez, the competition's top scorer, added to his haul with a penalty but Brazil rode out a nervy final 10 minutes to progress, with attentions now undoubtedly turning to the fitness of Neymar.
The players were welcomed onto the field by a sea of yellow, with the national anthems feeling more pertinent than ever given this was Colombia's first match since the 20th anniversary of defender Andres Escobar's death and the overpass collapse in Belo Horizonte on the eve of the game.
Perhaps intimidated by that atmosphere, los Cafeteros were sluggish out of the block and Neymar looked to capitalise, scooping a 30-yard free-kick wide.
Brazil's star man continued to prove an early nuisance, forcing an corner off Cristian Zapata. Neymar swung the ball over from the left and, with Luiz just unable to reach the ball, it fell to Silva at the back post to bundle home.
Carlos Sanchez was guilty of losing the Selecao captain, who ran to the corner beating his chest in wild celebration just seven minutes into a match ahead of which his emotional state was questioned.
Silva's main job, though, is at the back and he soon proved his worth there, getting the slightest deflection on a fierce Juan Cuadrado shot to take it wide - Colombia's only chance of note in a poor opening 20 minutes.
Brazil were in the ascendancy and David Ospina had to be alert to deny two shots in quick succession, parrying a Hulk effort into the path and then denying Oscar's follow-up from the edge of the box.
However, Scolari's men were always capable of being exposed at the back and almost paid for when Rodriguez led a Colombia break, which only broke down with Cuadrado's final pass.
It was Brazil bossing the play, though, and, Hulk wriggled free to force another save from Ospina, before centre-back Luiz went on a typically unorthodox run, Fernandinho glanced wide and Hulk blazed over.
Colombia improved towards the end of the first half but wasted their best chance, albeit Neymar was clearly not far back when blocking Victor Ibarbo's effort from a free-kick - one of several decisions that angered them.
Rodriguez's rough treatment was the main issue and the attacker rose to his feet seething when Fernandinho clattered him just before the break, with the players making referee Carlos Velasco Carballo aware of their frustrations as they trudged off at half-time.
Perhaps with those words still ringing in his ears, the Spaniard awarded Rodriguez two free-kicks within minutes of a second half in which Jose Pekerman's side began brightly, albeit without creating any chances of note.
A series of fouls meant the match had none of its earlier verve, with Carballo eventually dishing out a yellow card with the 40th free-kick of the evening.
That card was handed to Silva for charging down Ospina, with the 64th-minute booking meaning he will miss Brazil's semi-final.
He was soon joined in the referee's notebook, but not until after Colombia thought they had levelled.
Rodriguez's free-kick caused a penalty-box melee, with Yepes lashing home after the ball fell kindly to the veteran - only for his celebrations to be cut short by the offisde flag.
It was a pivotal moment in the match, with Rodriguez cautioned for taking down Hulk 35 yards from goal soon after.
Luiz made light work of that distance, though, hitting an incredible right-footed strike which dipped just under the crossbar and out of the reach of Ospina to double Brazil's lead in style.
The Paris Saint-Germain defender ran away in frantic celebration but the job was not done and, having seen Neymar curl wide at the other end, Colombia won a penalty.
Rodriguez sent a wonderful ball through to substitute Carlos Bacca, who was taken out by the onrushing Julio Cesar.
The Brazil goalkeeper was fortunate only to receive a yellow card and was unable to replicate his heroics from the shootout against Chile, with Rodriguez sending him the wrong way.
It meant a nervy final 10 minutes were in store for Brazil, with heart rates going up a notch as Bacca headed inches wide from an offside position.
Adrian Ramos glanced a header wide of Cesar's goal as Colombia continued to press for a leveller, but it never arrived in a match for which the main talking point will be Neymar's injury.
Caught in the back by Zuniga, the attacker hit the deck and did not move, leaving the field on a stretcher with tears.