Mediauppspelning stöds inte på den här enheten
Kapten Thiago Silva satte Luiz Felipe Scolaris sida på vägen med ett tidigt mål, och Brasilien såg till att sättas för en bekväm passage till de sista fyra efter David Luiz lysande andra halv frispark.
I en magnifik atmosfär byggd på en kaskad av färg och en vägg av ljud, ny VM-stjärna James Rodriguez satte upp en spännande final när han drog ett mål tillbaka från straffplatsen med 10 minuter kvar.
I en ursinnig stängningsfas, Colombia var oförmögna att tvinga chansen som kunde ha fört med sig extra tid, och det är värdarna som kommer att träffa Tyskland i Belo Horizonte på tisdag, ett spel som kommer att live på BBC One.
"Det var ett fantastiskt tillfälle och ett bra spel. Inte i termer av kvalitet utan i termer av strävan och passion.
"Spelet var risigt och bitigt men Brasilien ville ha det så lite mer. Colombia var överansträngda från början och förlorade spelet efter att ha infriat det första målet.
"Det sydamerikanska sättet är att vinna till varje pris och du såg det idag. Ja, de gav bort fouls, ja David Luiz försökte sätta James Rodriguez av för straff, men om Brasilien vinner detta VM spelar så att ingen kommer att bry sig.
"Om de förlorar, annorlunda historia."
Men Brasilien kommer att vara utan superstjärna och huvud slående hopp Neymar, som har uteslutits ur VM med en bruten kota efter att ha knäckts i ryggen av Juan Zuniga.
De kommer också att sakna kapten Thiago Silva, som är avstängd efter att ha bokats.
Colombia hade egna klagomål, främst bristen på skydd som erbjöds Rodriguez, som var på väg att få ta emot några våldsamma utmaningar när Brasilien försökte upphäva hans inflytande.
Han bröt ner i tårar vid sista visselpipan som han tröstades av Brasilien spelare som hade erbjudit honom ingen av denna vara under en svår fysisk pärs som visade att han har modet att gå med sin naturliga förmåga.
Brasilien och deras anhängare, däremot, blev vilde av upprymdhet vid den sista visselpipan. Målet att nå finalen - och kompensera för 1950 års VM-förlust till Uruguay i Rio som fortfarande är en av denna nations mörkaste idrottsdagar - lever vidare.
Tyskland, som slog Frankrike 1-0 i sin kvartsfinal, kommer att behöva visa mental styrka för att klara av den tidvattenvåg av känslor och stöd som Scolari hoppas kommer att bära Brasilien till Maracana i veckan på söndag.
Fortaleza erbjöd upp en kittel av buller och ett hav av gula skjortor i en atmosfär som säkerställde Brasilien skulle starta i en serie av binjure-bränsle-attacker.
Scolaris hopp var att få Colombia in i ett okänt område och strategin fick hjälp av ett mål som till stor del byggde på defensiv vårdslöshet efter sju minuter.
Neymar hörn var en rutin affär med lite allvarliga hot men det var tillåtet att driva till den avlägsna posten, där Carlos Sanchez stängde av för att låta Silva att bunta hem.
Scolari och hans spelare var lika medvetna om hotet från Juan Cuadrado som den berömda Rodriguez, och han illustrerade exakt varför med ett skott som var tum bort från 20 meter.
Detta var dock mycket mer likt det från Brasilien, och det skulle inte ha varit någon överraskning om de hade utökat sin fördel med tiden, eftersom de visade ett verkligt hot mot en något blyg colombiansk sida.
Det var upp till David Ospina att de inte gjorde som han två gånger räddade väl från den utmärkta Hulken, vid andra tillfället återhämta sig väl för att sedan koppla Oscar långdistans ansträngning.
Scolari insisterade Brasilien hade inte formulerat några särskilda planer för att ta itu med Rodriguez, men det var tydligt att de var fast beslutna att testa 22-åringen i en följd av vårdslösa fysiska utmaningar.
Mediauppspelning stöds inte på den här enheten
Det var efter Rodriguez visades ett gult kort för en foul på Hulk av den utomordentligt mild domare Carlos Velasco Carballo som Brasilien gjorde målet som effektivt skickade dem till de sista fyra.
Luiz kom in från sin långa körning för att slå en 25-yard frikick som lämnade stretching Ospina koppling vid tunn luft som det flög högt till vänster.
Den stora skålen på en stadion gav efter för ett uttryck för lättnad och firande.
Det kom precis efter Colombia trodde att de var tillbaka i spelet, bara för att se Mario Yetes mål uteslutits för en tidigare offside.
Till hans ära, Rodriguez var oförskräckt av Brasiliens nära uppmärksamhet och det var hans skarpsinniga pass som ledde till att ersätta Carlos Bacca uppdateras av Julio Cesar. Efter en kort försening, och några väl valda ord från Luiz, Rodriguez var lugn personifierad att skicka väktaren på fel sätt.
Colombia kastade allt framåt i de sista stunderna, men återigen Brasilien höll på att försegla segern.
Brasilien mot Tyskland kommer att live på BBC One tisdagen den 8 juli från 20:30 BST
Matchen slutar, Brasilien 2, Colombia 1.
Andra halvlek, Brasilien 2, Colombia 1.
Ramires (Brasilien) vinner en frispark på höger flygel.
Foul av Cristian Zapata (Colombia).
Försök missade. Adrián Ramos (Colombia) huvud från mitten av rutan är för högt. Hjälpt av Juan Quintero med ett kors efter en set bit situation.
Foul av Hernanes (Brasilien).
Juan Zuñiga (Colombia) vinner en frispark på högerkanten.
Foul av Fred (Brasilien).
Carlos Sánchez (Colombia) vinner en frispark i den defensiva halvan.
Försök missade. Adrián Ramos (Colombia) huvud från mitten av rutan missar till vänster. Hjälpt av James Rodríguez med ett kors efter ett hörn.
Hörnet, Colombia. Förföljd av Marcelo.
Marcelo (Brasilien) vinner en frispark i den defensiva halvan.
Foul av James Rodríguez (Colombia).
Försök blockerat. Carlos Bacca (Colombia) höger fotade skott utanför lådan är blockerad. Assisterad av Carlos Sánchez.
Försening över. De är redo att fortsätta.
Substitution, Brasilien. Henrique ersätter Neymar på grund av en skada.
Försening i match Neymar (Brasilien) på grund av en skada.
Oscar (Brasilien) vinner en frispark på vänsterflygeln.
Foul av Juan Quintero (Colombia).
Substitution, Brasilien. Hernaner ersätter Paulinho.
Hörnet, Colombia. Förföljd av Oscar.
Offside, Colombia. Carlos Bacca försöker en genom boll, men Pablo Armero fångas offside.
Fernandinho (Brasilien) vinner en frispark i den defensiva halvan.
Foul av Cristian Zapata (Colombia).
Hörnet, Colombia. Förföljd av Fred.
Substitution, Brasilien. Ramires ersätter Hulk.
Hörnet, Colombia. Förföljd av Thiago Silva.
Offside, Colombia. James Rodríguez försöker en genom boll, men Carlos Bacca fångas offside.
Hörnet, Colombia. Förföljd av Maicon.
Substitution, Colombia. Juan Quintero ersätter Juan Guillermo Cuadrado.
Mål!  Brasilien 2, Colombia 1. James Rodríguez (Colombia) konverterar straffet med en vänster fotad skott till nedre vänstra hörnet.
Julio César (Brasilien) visas det gula kortet för en dålig foul.
Straff som medgivits av Julio César (Brasilien) efter ett brott i straffområdet.
Straffet i Colombia. Carlos Bacca drar ett brott i straffområdet.
Thiago Silva (Brasilien) vinner en frispark i den defensiva halvan.
Foul av Carlos Bacca (Colombia).
Försöket räddades. Juan Guillermo Cuadrado (Colombia) höger fotade skott från utsidan rutan sparas i nedre högra hörnet. Hjälpt av Pablo Armero.
Foul av Paulinho (Brasilien).
Fredy Guarín (Colombia) vinner en frispark i defensiva halvan.
Foul av Hulk (Brasilien).
Brasilien säkrade en VM semifinal mot Tyskland med seger över Colombia på en natt av gripande spänning och passion i Fortaleza.