K.O.-faasis osalesid 16 võistkonda, kes kvalifitseerusid turniiri grupifaasis. Toimus neli vooru, kus igas voorus langes välja pool selle vooru võistkondadest. Järjestikused voorud olid: 16. voor, veerandfinaalid, poolfinaalid, finaal. Lisaks toimus play-off, et otsustada kolmas/neljas koht. Igale mängule järgnes 90 minuti järel 30 minutit lisaaega; kui mängutulemused olid endiselt võrdsed, toimus penaltiseeria (vähemalt viis penaltit ja vajadusel rohkem), et otsustada, kes pääses järgmisesse vooru. Tulemused pärast lisaaega on tähistatud (aet) ja karistusviskeid tähistatakse (p).
| 16. voor | | Veerandfinaalid | | Poolfinaalid | | Lõplik |
| | | | | | | | | | | | | | |
| 24. juuni - Torino | | | | | | | | | |
|
| Brasiilia | 0 |
| 30. juuni - Firenze |
| Argentina | 1 | |
| Argentina (p) | 0 (3) |
| 26. juuni - Verona |
| | Jugoslaavia | 0 (2) | |
| Hispaania | 1 |
| | 3. juuli - Napoli |
| Jugoslaavia (aet) | 2 | |
| Argentina (p) | 1 (4) |
| 25. juuni - Genova |
| | Itaalia | 1 (3) | |
| Iirimaa (p) | 0 (5) |
| 30. juuni - Rooma | |
| Rumeenia | 0 (4) | |
| Iirimaa | 0 |
| 25. juuni - Rooma |
| | Itaalia | 1 | |
| Itaalia | 2 |
| | 8. juuli - Rooma |
| Uruguay | 0 | |
| Argentina | 0 |
| 23. juuni - Bari |
| | Lääne-Saksamaa | 1 |
| Tšehhoslovakkia | 4 |
| 1. juuli - Milano | |
| Costa Rica | 1 | |
| Tšehhoslovakkia | 0 |
| 24. juuni - Milano |
| | Lääne-Saksamaa | 1 | |
| Lääne-Saksamaa | 2 |
| | 4. juuli - Torino |
| Madalmaad | 1 | |
| Lääne-Saksamaa (p) | 1 (4) |
| 23. juuni - Napoli |
| | Inglismaa | 1 (3) | | Kolmas koht |
| Kamerun (aet) | 2 |
| 1. juuli - Napoli | | 7. juuli - Bari |
| Kolumbia | 1 | |
| Kamerun | 2 | Itaalia | 2 |
| 26. juuni - Bologna |
| | Inglismaa (aet) | 3 | | Inglismaa | 1 |
| Inglismaa (aet) | 1 |
| | |
| Belgia | 0 | |
|
16. voor
Kahes kohtumises - Argentina vs. Brasiilia ja Itaalia vs. Uruguay - läksid omavahel vastamisi endised meistriliiga riigid ning Lääne-Saksamaa kohtus 1974. aasta MM-finaali kordusmängus Madalmaadega.
Kogu Lõuna-Ameerika mängu võitis Argentina Claudio Caniggia väravaga 10 minutiga enne lõppu pärast Diego Maradona läbimängu Brasiilia kaitsest ja väravavaht Sergio Goycochea silmapaistvat sooritust. Hiljem selgus, et Maradona ja Ricardo Giusti pakkusid Brancole poolajal rahustitega rikastatud vett, et teda teisel poolajal aeglustada. Esialgu ajakirjanduse poolt diskrediteeritud Branco sai aastaid hiljem avalikult õigust, kui Maradona tunnistas seda episoodi Argentina telesaates. Mis puutub Itaaliasse, siis teise poolaja tugeva esitusega võitsid võõrustajad tänu Schillaci teisele väravale ja Aldo Serena väravale Uruguayt 2:0.
Lääne-Saksamaa ja Hollandi vaheline mäng toimus Milanos ning mõlemal poolel mängisid mitmed nimekad mängijad kahest Milano klubist (sakslased Andreas Brehme, Lothar Matthäus ja Jürgen Klinsmann Internazionale eest ning hollandlased Marco van Basten, Ruud Gullit ja Frank Rijkaard Milano eest). Pärast 22. minutit said Rudi Völler ja Rijkaard mõlemad mängijate vaheliste intsidentide (sealhulgas Rijkaard sülitas Völleri peale) tõttu Argentiina kohtunikul ei jäänud muud üle, kui saata mõlemad mängijad mängust välja. Kui mängijad koos väljakult lahkusid, sülitas Rijkaard Völleri peale teist korda. Teise poolaja alguses viis Jürgen Klinsmann läänesakslased juhtima ja Andreas Brehme lisas kaheksa minutiga veel ühe. Ronald Koemani penalti Hollandile 89. minutil vähendas seisu 2:1-le, kuid sakslased nägid mängu lõpuni, et võtta revanši hollandlastele eelmise EM-i väljalangemise eest.
Vahepeal jätkusid Kameruni ja Roger Milla kangelaslikkus mängus Kolumbia vastu. Milla võeti mängu teise poolaja vahetajana kasutusele, kui mäng oli väravateta, ning lõpuks lõi ta lisaaja keskel viigiseisu. Kolm minutit hiljem lõi ta teise värava, kui Kolumbia väravavaht René Higuita oli Milla väravast kaugel, jättes ründaja vabaks, et palli tühja väravasse lüüa. Kuigi Kamerun vähendas peagi kaotusseisu 2:1-le, suutis ta siiski vastu pidada ja jõuda esimese Aafrika meeskonnana MM-i veerandfinaali. Costa Rica alistas mugavalt 4:1 Tšehhoslovakkia, kelle eest Tomáš Skuhravý lõi turniiri teise ja viimase kübaratriki.
Iirimaa ja Rumeenia kohtumine jäi pärast lisaaega väravateta ja iirlased võitsid 5:4 penaltitega. David O'Leary realiseeris penalti, mis tagas Iirimaale koha veerandfinaalis. Iirimaast sai seega esimene meeskond pärast Rootsit 1938. aastal, kes pääses MM-finaalturniiril kaheksandikfinaali ilma mängu võitmata. Jugoslaavia võitis Hispaaniat 2:1 pärast lisaaega, kusjuures Dragan Stojković lõi mõlemad Jugoslaavia väravad. Inglismaa oli viimases kvalifikatsioonis Belgia vastu, kui keskkaitsja David Platt'i pöörane võrkpallilöök murdis patiseisu ja mäng oli hetkega karistuslöögi kaugusel.
| 23. juuni 199017 :00 | Kamerun  | 2-1 (a.e.t. ) | Kolumbia | Stadio San Paolo, Napoli |
| Milla 106', 109' | | Redín 115' |
| 23. juuni 199021 :00 | Tšehhoslovakkia  | 4-1 | Costa Rica | Stadio San Nicola, Bari |
| Skuhravý 12', 63', 82' Kubík 75' | | González 54' |
| 24. juuni 199017 :00 | Brasiilia .svg.png) | 0-1 | Argentina | Stadio delle Alpi, Torino |
| | Caniggia 80' |
| 25. juuni 199017 :00 | Iirimaa Vabariik  | 0-0 (a.e.t. ) | Rumeenia | Stadio Luigi Ferraris, Genova |
| | |
| | Karistused | | |
| Sheedy Houghton Townsend Cascarino O'Leary  | 5-4 | Hagi Lupu Rotariu Lupescu Timofte | |
| 25. juuni 199021:00 | Itaalia  | 2-0 | Uruguay | Stadio Olimpico, Rooma |
| Schillaci 65' Serena 83' | | |
| 26. juuni 199017 :00 | Hispaania  | 1-2 (a.e.t. ) | Jugoslaavia | Stadio Marc'Antonio Bentegodi, Verona |
| Salinas 83' | | Stojković 78', 92' |
| 26. juuni 199021 :00 | Inglismaa  | 1-0 (a.e.t. ) | Belgia | Stadio Renato Dall'Ara, Bologna |
| Platt 119' | | |
Veerandfinaalid
Kaheksandikfinaali esimeses mängus mängisid Argentina ja Jugoslaavia meeskond, kes oli pärast pooletunnist mängu jäänud 10 mehega, väravateta pausile. Poolfinaali pääsesid tiitlikaitsjad, kes võitsid penaltiseeria 3:2, kuigi Maradona päästis oma penalti. Argentiina teine eksimus (Pedro Troglio) näis neid kõrvaldavat, kuni väravavaht Sergio Goycochea - kes mängis, sest esimene valikmängija Nery Pumpido murdis grupifaasis jala - päästis oma meeskonna, tõrjudes Jugoslaavia kaks viimast penaltit.
Iiri Vabariigi MM-võistlused lõppesid veerandfinaalis võõrustajate Itaaliaga Schillaci ühe värava löömisega esimesel poolajal. Lääne-Saksamaa võitis Tšehhoslovakkiat Lothar Matthäus'i 25. minuti penaltiga.
Veerandfinaali kõige intrigeerivam mäng oli Inglismaa ja Kameruni vahel. Peale kõige muu oli see ainus veerandfinaal, kus löödi rohkem kui üks värav. Hoolimata Kameruni varasemast kangelaslikkusest viis David Platt Inglismaa 25. minutil juhtima. Poolajal toodi Milla sisse. Teisel poolajal keerati mäng viie minuti jooksul pea peale: esmalt sai Kamerun penalti, millest Emmanuel Kunde lõi võrdse värava; seejärel viis Eugene Ekeke 65. minutil Kameruni juhtima. Kamerun jõudis kaheksa minutit enne poolfinaali jõudmist, enne kui nad said penalti, mille Gary Lineker realiseeris. Lisaaja keskel sai Inglismaa veel ühe penalti ja Lineker tabas taas punktist. Inglismaa pääses esimest korda 24 aasta jooksul poolfinaali.
| 30. juuni 199017 :00 | Argentina  | 0-0 (a.e.t. ) | Jugoslaavia | Stadio Comunale, Firenze |
| | |
| | Karistused | | |
| Serrizuela  Burruchaga Maradona Troglio Dezotti  | 3-2 | Stojković Prosinečki Savićević Brnović Hadžibegić | |
| 30. juuni 199021 :00 | Iirimaa Vabariik  | 0-1 | Itaalia | Stadio Olimpico, Rooma |
| | Schillaci 38' |
| 1. juuli 199017 :00 | Tšehhoslovakkia  | 0-1 | Lääne-Saksamaa | San Siro, Milano |
| | Matthäus 25' (pen. ) |
| 1. juuli 199021 :00 | Kamerun  | 2-3 (a.e.t. ) | Inglismaa | Stadio San Paolo, Napoli |
| Kundé 61' (pen. ) Ekéké 65' | | Platt 25' Lineker 83' (pen. ), 105' (pen. ) |
Poolfinaalid
Esimeses poolfinaalis kohtusid võõrustajariik Itaalia ja maailmameister Argentina Napolis. "Toto" Schillaci viis Itaalia 17. minutil taas juhtima, kuid Claudio Cannigia lõi teise poolaja keskel viigivärava, murdes Walter Zenga kogu turniiri vältel kestnud puhaste väravate seeria. Rohkem väravaid ei sündinud ei 90 minutil ega lisaajal, hoolimata sellest, et Maradona (kes mängis tol ajal Napoli eest Serie A-s) näitas silmapilkselt maagilist võimekust, kuid mängus oli üks väljalaskmine: Argentina koondislane Ricardo Giusti sai lisaajal 13. minutil punase kaardi. Argentina pääses edasi penaltitega, võites pärast Goycochea kangelaslikku mängu 4:3.
Juventuse kodustaadionil Torinos peetud poolfinaal Lääne-Saksamaa ja Inglismaa vahel oli poolajal väravateta. Siis, 60. minutil, tõrjus Andreas Brehme löögi Paul Parker oma võrku. Inglismaa võrdsustas 10 minutiga, Gary Lineker oli väravalööja. Mäng lõppes 1:1. Lisaaeg tõi rohkem võimalusi ja Klinsmann oli süüdi kahes räiges vahelejäämises, samas kui mõlemad pooled tabasid posti. Inglismaa sai veel ühe Platt'i värava tagasilöögi, mis jäeti tagasilöögi tõttu ära. Mäng läks penaltiseeriasse ja Lääne-Saksamaa võitis 4-3.
| 3. juuli 199020 :00 | Argentina  | 1-1 (a.e.t. ) | Itaalia | Stadio San Paolo, Napoli |
| Caniggia 67' | | Schillaci 17' |
| | Karistused | | |
| Serrizuela  Burruchaga Olarticoechea  Maradona  | 4-3 | Baresi Baggio De Agostini Donadoni Serena | |
| 4. juuli 199020 :00 | Lääne-Saksamaa  | 1-1 (a.e.t. ) | Inglismaa | Stadio delle Alpi, Torino |
| Brehme 60' | | Lineker 80' |
| | Karistused | | |
| Brehme Matthäus Riedle Thon  | 4-3 | Lineker Beardsley Platt Pearce Waddle | |
Kolmanda koha mäng
Mängus löödi 15 minuti jooksul kolm väravat. Roberto Baggio avas skoori pärast seda, kui Inglismaa väravavaht Peter Shilton oma viimases mängus enne rahvusvahelist pensionileminekut harva esinevale väravavahile lihtsa võimaluse pakkus. David Platt'i peaga viigistas mängu 10 minutit hiljem, kuid viis minutit hiljem sai Schillaci karistusalas karistuslöögi, mis tõi kaasa penalti. Schillaci tõusis ise püsti ja realiseeris selle, et võita oma kuue värava eest turniiri kuldne saapas. Nicola Berti värav jäeti mõni minut hiljem väravast välja, kuid võõrustajad said kolmanda koha. Inglismaa sai lohutusauhinnaks Fair Play auhinna, kuna ei saanud ühtegi punast kaarti ja sai kõige vähem kollaseid kaarte mängu kohta.
| 7. juuli 199020 :00 | Itaalia  | 2-1 | Inglismaa | Stadio San Nicola, Bari |
| Baggio 71' Schillaci 86' (pen. ) | | Platt 81' |
Lõplik
Lääne-Saksamaa ja Argentina vahelist finaali on nimetatud kõige küünilisemaks ja madalaima kvaliteediga MM-finaalmänguks. 65. minutil saadeti Argentina mängija Pedro Monzon Jürgen Klinsmanni vastu tehtud fouli eest mängust välja, mis oli esimene mängija, kes MM-finaalis välja saadeti.
Argentiina, keda nõrgestas mängukeeld ja vigastused, pakkus kogu võistluse vältel vähe ründeohtu, kuna läänesakslased domineerisid ja neil oli raske luua palju selgeid väravavõimalusi. Kohtumise ainus värav sündis 85. minutil, kui Mehhiko kohtunik Edgardo Codesal määras Lääne-Saksamaale penalti pärast Roberto Sensini viga Rudi Völleri vastu. Andreas Brehme, kes hiljem väitis, et viga ei olnud, realiseeris kohtumispunkti, et lahendada võistlus. Lõppmomendil jäi Argentina üheksaks, kui Gustavo Dezotti sai mängu teise kollase kaardi, kui ta mängukatkestuse ajal Jürgen Kohlerit maha tõmbas. 1:0 tulemusega oli tegemist veel ühe esmakordse tabamusega: Argentina oli esimene meeskond, kes ei suutnud MM-finaalis väravat lüüa.
Oma kolmanda tiitliga (ja kolme teise kohaga) sai Lääne-Saksamaa - oma viimasel turniiril enne riigi taasühinemist - omaaegse edukaima MM-riigi tiitli. Lääne-Saksamaa koondise juhendaja Franz Beckenbauerist sai ainus mees, kes on olnud nii MM-võitja meeskonna kapten (1974. aastal) kui ka juhendaja, ning alles teine mees (pärast Brasiilia Mário Zagallot), kes on võitnud MM-i nii mängijana kui ka koondise juhina. See oli ka esimene kord, kui UEFA meeskond võitis finaalis mitte-euroopaliku meeskonna.