Tom Rogic, som jämnades ut i extra tid för Celtic, missade den vitala spot-kick, flammande hög och bred.
Rangers strejker Kenny Miller sköt i öppningsmålet, med Celtic svarar genom en Erik Sviatchenko huvudet.
En underbar långväga strejk från Barrie McKay hade Rangers framför på 96 minuter innan Rogic svepte hem för att sätta upp en spänd Hampden shootout.
James Tavernier och Nicky Clark misslyckades med att konvertera från platsen för Rangers, medan Callum McGregor och kapten Scott Brown inte kunde träffa målet för Celtic innan Rogic miss gjorde det 5-4 på straff till Championship vinnare.
Minuter före straffen, en dundrande frikick från keltiska anfallaren Leigh Griffiths kraschade av crossbaren och studsade av målvakt Wes Foderingham innan glida smalt bred.
Foderingham gjorde också ett bra stopp för att förneka Rogic från nära håll efter den australiska substitut hade gjort mål för att göra det 2-2.
En pulserande, uppslukande och alltid stridande Old Firm spelet slutade med flera spelare ute på fötterna, knappt kan röra sig.
Spelet hade varit en obeveklig affär från början. Pitchen verkade en röra av spelare i öppningsformeln, som spelet varierade från ena änden till den andra.
Försvarare var tvungna att förlita sig på sitt förstånd och hoppas att deras lugn skulle överleva känslan av att vara under belägring.
Celtics rygg fyra var säkert snart medveten om arten av det hot de skulle möta, när McKay - som var livlig och imponerande farlig genom hela - spetsade en boll genom Miller, vars skott var väl stoppas av Craig Gordon.
Rangers började införa sin spelplan, passerar bollen snabbt och skickligt och tar set-pipets kort, särskilt hörn.
Men Celtic kunde vara skarp på pausen, och Brown borde ha öppnat poäng från kanten av området, bara för att dra hans skott bred.
Under andfåddheten fann Rangers lycka på sin sida. Genombrottet kom när Tavernier levererade en dålig hörnspark som ledde till att bollen gick sönder till Andy Halliday. Hans kors i sin tur var också fel-hit, men bollen kanonerade av Brown i vägen för Miller, som slutade kallt.
Med Halliday och Jason Holt framåt i centrala mittfältet, Rangers var komponerade och självsäkra. Strategin var effektiv men Celtic kunde fortfarande lita på att individer var djärva och de borde ha utjämnat när Griffiths skott studsade av stolpen, med rebound landning vid fötterna på Patrick Roberts.
Med ett öppet mål framför honom, den on-loan yttern skekade brett.
Missen skulle ha galopperat Celtic, men så skulle också det sätt Rangers ofta passerade bollen runt dem, även på nära håll.
Kieran Tierney, så solid, pålitlig och med sådana sunda defensiva instinkter, var ett enmansmotstånd för premiärministerns ledare under en period före halvtid.
Fiery ord skulle säkert ha spillts i den keltiska omklädningsrummet under intervallet. Det var effektivt, eftersom laget var aggressivt, intensivt och okränkbart i början av andra halvan.
Celtic vann fyra hörn i följd och gjorde med den sista av dem, när Roberts leverans var på väg högt in i nätet av Sviatchenko.
Sviatchenko och Nir Bitton båda kom nära med rubriker innan spelarna trött och blev mer konservativ.
Ingen fjärdedel kunde dock ges, och varje aspekt av spelet ifrågasattes.
Celtic ansåg verkligen att ett inkast tidigt i extra borde ha gått deras väg. Istället arbetade Rangers bollen till kanten av området, där McKay hamrade ett skott i övre hörnet.
För allt som spelarna var dränerade och ömma, kunde rivaler inte separeras och den utmärkta Tierney gjorde utrymme att korsa och Rogic omvandlas lågt i hörnet.
Påföljder följde en frenetisk avslutning och Halliday, McKay, Nicky Law, Lee Wallace och Gedion Zelalem höll modet att göra mål och sätta upp den första finalen som ska bestridas av två lag utanför den högsta flygningen.
Match slutar, Rangers 2.5, Celtic 2.4.
Straffet slutar, Rangers 2.5, Celtic 2.4.
Straffet missades! Dåligt straff av Tomas Rogic (Celtic) vänster fotade skott är hög och bred till vänster. Tomas Rogic borde bli besviken.
Mål!  Rangers 2.5, Celtic 2.4. Nicky Law (Rangers) konverterar straffet med en högerfotad skott till nedre högra hörnet.
Mål!  Rangers 2.4, Celtic 2.4. Mikael Lustig (Celtic) konverterar straffet med ett högerfotat skott till det övre vänstra hörnet.
Mål!  Rangers 2.4, Celtic 2.3. Gedion Zelalem (Rangers) konverterar straffet med en högerfotad skott till nedre högra hörnet.
Mål!  Rangers 2.3, Celtic 2.3. Leigh Griffiths (Celtic) konverterar straffet med en vänster fotad skott till övre vänstra hörnet.
Mål!  Rangers 2.3, Celtic 2.2. Lee Wallace (Rangers) konverterar straffet med en vänster fotad skott till nedre vänstra hörnet.
Straffet är räddat! Scott Brown (Celtic) misslyckas med att utnyttja denna stora möjlighet, höger fotade skott räddade i nedre högra hörnet.
Straffet är räddat! Nicky Clark (Rangers) misslyckas med att utnyttja denna stora möjlighet, höger fotade skott räddade i övre vänstra hörnet.
Mål!  Rangers 2.2, Celtic 2.2. Nir Bitton (Celtic) konverterar straffet med en högerfotad skott till den höga mitten av målet.
Mål!  Rangers 2.2, Celtic 2.1. Barrie McKay (Rangers) konverterar straffet med en högerfotad skott till nedre högra hörnet.
Straffet missades! Fortfarande Rangers 2.1, Celtic 2.1. Callum McGregor (Celtic) träffar baren med en vänster fotad skott.
Straffet missades! Dåligt straff av James Tavernier (Rangers) höger fotade skott är för högt. James Tavernier borde bli besviken.
Mål!  Rangers 2.1, Celtic 2.1. Charlie Mulgrew (Celtic) konverterar straffet med en vänster fotad skott till nedre högra hörnet.
Mål!  Rangers 2.1, Celtic 2. Andy Halliday (Rangers) konverterar straffet med en vänster fotad skott till övre vänstra hörnet.
Straffet Shootout börjar Rangers 2, Celtic 2.
Andra halv extra tid slutar, Rangers 2, Celtic 2.
Barrie McKay (Rangers) vinner en frispark i defensiva halvan.
Foul av Patrick Roberts (Keltisk).
Försök missade. Erik Sviatchenko (Celtic) huvud från mitten av lådan är nära, men missar till höger. Hjälpt av Patrick Roberts med ett kors som följer ett hörn.
Hörnet, Celtic. Förföljd av Wes Foderingham.
Försöket räddades. Leigh Griffiths (Celtic) vänster fotade skott från utsidan rutan sparas i det övre vänstra hörnet.
Andy Halliday (Rangers) visas det gula kortet för en dålig foul.
Foul av Andy Halliday (Rangers).
Tomas Rogic (Celtic) vinner en frispark i anfallshalvan.
Andy Halliday (Rangers) vinner en frispark i defensiva halvan.
Foul av Tomas Rogic (Keltisk).
Hörnet, Rangers. Förföljd av Kieran Tierney.
Försöket räddades. Callum McGregor (Celtic) vänster fotade skott från utsidan rutan sparas i nedre vänstra hörnet. Hjälpt av Tomas Rogic.
Försök missade. Jason Holt (Rangers) höger fotade skott utanför lådan missar till höger. Hjälpt av Nicky Law.
Hörnet, Celtic. Förföljd av Wes Foderingham.
Försöket räddades. Tomas Rogic (Celtic) vänster fotade skott från mitten av lådan sparas i mitten av målet. Hjälpt av Callum McGregor med en genom boll.
Försök missade. Patrick Roberts (Celtic) vänster fotade skott från mitten av lådan missar till vänster.
Mål!  Rangers 2, keltiska 2. Tomas Rogic (Celtic) vänster fotade skott från mitten av lådan till nedre högra hörnet. Hjälpt av Kieran Tierney.
Andra halv extra tid börjar Rangers 2, Celtic 1.
Första halvtiden slutar, Rangers 2, Celtic 1.
James Tavernier (Rangers) vinner en frispark i defensiva halvan.
Foul av Patrick Roberts (Keltisk).
Försöket räddades. Erik Sviatchenko (Celtic) huvud från mitten av rutan sparas i nedre vänstra hörnet. Hjälpt av Patrick Roberts med ett kors.
Rangers satte upp en skotsk Cup final med Hibernian efter en spännande betsle med Celtic beslutades om straff.