Aan de knock-outfase namen de 16 teams deel die zich hadden gekwalificeerd voor de groepsfase van het toernooi. Er waren vier wedstrijdrondes, waarbij in elke ronde de helft van de teams die aan die ronde deelnamen werd uitgeschakeld. De opeenvolgende rondes waren: ronde van 16, kwartfinales, halve finales, finale. Er was ook een play-off om de derde/vierde plaats te bepalen. Voor elke wedstrijd in de knock-outfase werd een gelijkspel na 90 minuten gevolgd door 30 minuten extra tijd; als de scores nog steeds gelijk waren, volgde een penalty shoot-out (ten minste vijf penalty's elk, en meer indien nodig) om te bepalen wie doorging naar de volgende ronde. Scores na extra tijd worden aangegeven met (aet), en penalty's worden aangegeven met (p).
| Ronde van 16 | | Kwartfinale | | Halve finale | | Definitieve |
| | | | | | | | | | | | | | |
| 24 juni - Turijn | | | | | | | | | |
|
| Brazilië | 0 |
| 30 juni - Florence |
| Argentinië | 1 | |
| Argentinië (p) | 0 (3) |
| 26 juni - Verona |
| | Joegoslavië | 0 (2) | |
| Spanje | 1 |
| | 3 juli - Napels |
| Joegoslavië (aet) | 2 | |
| Argentinië (p) | 1 (4) |
| 25 juni - Genua |
| | Italië | 1 (3) | |
| Republiek Ierland (p) | 0 (5) |
| 30 juni - Rome | |
| Roemenië | 0 (4) | |
| Republiek Ierland | 0 |
| 25 juni - Rome |
| | Italië | 1 | |
| Italië | 2 |
| | 8 juli - Rome |
| Uruguay | 0 | |
| Argentinië | 0 |
| 23 juni - Bari |
| | West-Duitsland | 1 |
| Tsjecho-Slowakije | 4 |
| 1 juli - Milaan | |
| Costa Rica | 1 | |
| Tsjecho-Slowakije | 0 |
| 24 juni - Milaan |
| | West-Duitsland | 1 | |
| West-Duitsland | 2 |
| | 4 juli - Turijn |
| Nederland | 1 | |
| West-Duitsland (p) | 1 (4) |
| 23 juni - Napels |
| | Engeland | 1 (3) | | Derde plaats |
| Kameroen (aet) | 2 |
| 1 juli - Napels | | 7 juli - Bari |
| Colombia | 1 | |
| Kameroen | 2 | Italië | 2 |
| 26 juni - Bologna |
| | Engeland (aet) | 3 | | Engeland | 1 |
| Engeland (aet) | 1 |
| | |
| België | 0 | |
|
Ronde van 16
In twee van de wedstrijden - Argentinië tegen Brazilië en Italië tegen Uruguay - stonden voormalige kampioenslanden tegenover elkaar, en West-Duitsland ontmoette Nederland in een rematch van de WK-finale van 1974.
De Zuid-Amerikaanse wedstrijd werd voor Argentinië gewonnen door een doelpunt van Claudio Caniggia met nog 10 minuten te gaan na een run door de Braziliaanse verdediging van Diego Maradona en een uitstekende prestatie van hun doelman Sergio Goycochea. Later zou blijken dat Branco tijdens de rust water met kalmeringsmiddelen aangeboden had gekregen van Maradona en Ricardo Giusti, om hem in de tweede helft af te remmen. Branco werd aanvankelijk door de pers in diskrediet gebracht, maar zou jaren later publiekelijk gelijk krijgen, toen Maradona het voorval opbiechtte in een tv-programma in Argentinië. Italië versloeg Uruguay met 2-0 na een sterke tweede helft, dankzij een doelpunt van Schillaci en Aldo Serena.
De wedstrijd tussen West-Duitsland en Nederland vond plaats in Milaan, en aan beide zijden speelden verschillende opvallende spelers van de twee Milanese clubs mee (de Duitsers Andreas Brehme, Lothar Matthäus en Jürgen Klinsmann voor Internazionale, en de Nederlanders Marco van Basten, Ruud Gullit en Frank Rijkaard voor Milan). Na 22 minuten werden Rudi Völler en Rijkaard beiden uit het veld gestuurd, nadat een aantal incidenten (waaronder Rijkaard die op Völler spuugde) tussen de twee spelers de Argentijnse scheidsrechter geen andere keuze liet dan hen beiden uit het veld te sturen. Terwijl de spelers samen van het veld liepen, spuugde Rijkaard een tweede keer op Völler. Vroeg in de tweede helft zette Jürgen Klinsmann de West-Duitsers op voorsprong en Andreas Brehme voegde daar met nog acht minuten te gaan een tweede aan toe. Een penalty van Ronald Koeman voor Nederland in de 89e minuut verkleinde de stand tot 2-1, maar de Duitsers zagen de wedstrijd uit om zich te revancheren voor hun nederlaag tegen Oranje op het vorige EK.
Ondertussen gingen de heldendaden van Kameroen en Roger Milla door in het duel met Colombia. Milla werd als invaller in de tweede helft ingebracht, toen de wedstrijd nog niet was beslist. Drie minuten later scoorde hij een tweede, nadat de Colombiaanse doelman René Higuita door Milla uit zijn doel was verdreven. Hoewel de achterstand al snel was teruggebracht tot 2-1, hield Kameroen stand en werd het eerste Afrikaanse team ooit dat de kwartfinales van het WK bereikte. Costa Rica werd met 4-1 verslagen door Tsjecho-Slowakije, voor wie Tomáš Skuhravý de tweede en laatste hattrick van het toernooi scoorde.
Het duel van de Republiek Ierland met Roemenië bleef na extra tijd doelpuntloos en de Ieren wonnen met 5-4 op strafschoppen. David O'Leary maakte de strafschop die Ierland een plaats in de kwartfinale bezorgde. Ierland werd zo de eerste ploeg sinds Zweden in 1938 die de laatste acht bereikte op een WK-finale zonder een wedstrijd te winnen. Joegoslavië versloeg Spanje met 2-1 na extra tijd, waarbij Dragan Stojković beide Joegoslavische doelpunten voor zijn rekening nam. Engeland was de laatste kwalificatiewedstrijd tegen België, toen de zwiepende volley van middenvelder David Platt de patstelling doorbrak met de wedstrijd op het randje van een strafschoppenserie.
| Kameroen  | 2-1 (a.e.t. ) | Colombia |
| Milla 106', 109' | | Redín 115 |
| Tsjecho-Slowakije  | 4-1 | Costa Rica |
| Skuhravý 12', 63', 82' Kubík 75' | | González 54' |
| Brazilië .svg.png) | 0-1 | Argentinië |
| | Caniggia 80' |
Stadio delle Alpi, Turijn
| West-Duitsland  | 2-1 | Nederland |
| Klinsmann 51' Brehme 82' | | R. Koeman 89' (pen. ) |
Stadio Luigi Ferraris, Genua
| Italië  | 2-0 | Uruguay |
| Schillaci 65' Serena 83' | | |
| Spanje  | 1-2 (a.e.t. ) | Joegoslavië |
| Salinas 83' | | Stojković 78', 92' |
Stadio Marc'Antonio Bentegodi, Verona
| Engeland  | 1-0 (a.e.t. ) | België |
| Platt 119' | | |
Stadio Renato Dall'Ara, Bologna
Kwartfinale
In de eerste wedstrijd van de laatste 8 speelden Argentinië en een Joegoslavische ploeg, die na een half uur met 10 man kwam te staan, een doelpuntloze patstelling uit. De titularissen bereikten de halve finales nadat ze de strafschoppenserie met 3-2 hadden gewonnen, ondanks dat Maradona zijn strafschop gered zag worden. Een tweede Argentijnse misser (van Pedro Troglio) leek hen te elimineren, totdat doelman Sergio Goycochea - die speelde omdat eerste keus Nery Pumpido zijn been brak tijdens de groepsfase - zijn ploeg redde door de laatste twee strafschoppen van de Joegoslaven te stoppen.
Aan de WK-race van de Republiek Ierland kwam een einde door één doelpunt van Schillaci in de eerste helft van hun kwartfinale met gastland Italië. West-Duitsland versloeg Tsjecho-Slowakije met een strafschop van Lothar Matthäus in de 25e minuut.
De meest intrigerende wedstrijd van de kwartfinales was die tussen Engeland en Kameroen. Afgezien van al het andere was het de enige kwartfinale die meer dan één doelpunt opleverde. Ondanks de heldendaden van Kameroen eerder in het toernooi, zette David Platt Engeland in de 25e minuut op voorsprong. In de rust werd Milla ingebracht. In de tweede helft werd de wedstrijd in vijf minuten tijd op zijn kop gezet: eerst kreeg Kameroen een penalty toegewezen waaruit Emmanuel Kunde de gelijkmaker scoorde; vervolgens zette Eugene Ekeke in de 65e minuut Kameroen op voorsprong. Kameroen kwam tot op acht minuten van het bereiken van de halve finale voordat het een strafschop tegen kreeg, die door Gary Lineker werd omgezet. Halverwege de extra tijd kreeg Engeland nog een penalty, en Lineker scoorde opnieuw vanaf de stip. Engeland was voor het eerst in 24 jaar door naar de halve finales.
| Republiek Ierland  | 0-1 | Italië |
| | Schillaci 38' |
| Kameroen  | 2-3 (a.e.t. ) | Engeland |
| Kundé 61' (pen. ) Ekéké 65' | | Platt 25' Lineker 83' (pen. ), 105' (pen. ) |
Halve finale
In de eerste halve finale stonden het gastland Italië en wereldkampioen Argentinië tegenover elkaar in Napels. Toto' Schillaci scoorde opnieuw om Italië in de 17e minuut op voorsprong te zetten, maar Claudio Cannigia maakte halverwege de tweede helft gelijk en doorbrak daarmee Walter Zenga's 'clean sheet' van het hele toernooi. Er vielen geen doelpunten meer in de 90 minuten of in de extra tijd, ondanks het feit dat Maradona (die toen voor Napels in de Serie A speelde) een sprankje magie toonde, maar er was wel een zending: Ricardo Giusti van Argentinië kreeg de rode kaart in de 13e minuut van de extra tijd. Argentinië ging door op strafschoppen en won de shoot-out met 4-3 na nog meer heldendaden van Goycochea.
De halve finale tussen West-Duitsland en Engeland in het thuisstadion van Juventus in Turijn was bij rust doelpuntloos. Toen, in de 60e minuut, werd een schot van Andreas Brehme door Paul Parker in zijn eigen net afgeketst. Engeland maakte met nog 10 minuten te gaan gelijk, Gary Lineker was de doelpuntenmaker. De wedstrijd eindigde in 1-1. De extra tijd leverde meer kansen op en Klinsmann was schuldig aan twee opvallende missers, terwijl beide partijen een paal troffen. Voor Engeland werd nog een doelpunt van Platt afgekeurd wegens buitenspel. De wedstrijd ging over in strafschoppen en West-Duitsland won met 4-3.
Stadio delle Alpi, Turijn
Derde plaatsingswedstrijd
De wedstrijd kende drie doelpunten in een periode van 15 minuten. Roberto Baggio opende de score na een zeldzame fout van de Engelse doelman Peter Shilton, in zijn laatste wedstrijd voor zijn internationale pensioen. Een kopbal van David Platt zorgde 10 minuten later voor de gelijkmaker, maar vijf minuten later werd Schillaci in het strafschopgebied overtreden, wat leidde tot een penalty. Schillaci stond zelf op om de strafschop om te zetten, wat hem de Gouden Laars opleverde voor zijn zes doelpunten. Nicola Berti kreeg enkele minuten later een doelpunt tegen, maar de gastheren eisten de derde plaats op. Engeland kreeg de troostprijs van de Fair Play award, omdat het geen rode kaarten kreeg en het laagste gemiddelde aantal geel per wedstrijd.
| Italië  | 2-1 | Engeland |
| Baggio 71' Schillaci 86' (pen. ) | | Platt 81' |
Definitieve
De finale tussen West-Duitsland en Argentinië wordt beschouwd als de meest cynische en minst kwaliteitsvolle van alle WK-finales. In de 65e minuut werd Pedro Monzon van Argentinië uit het veld gestuurd voor een overtreding op Jürgen Klinsmann, de eerste speler ooit die in een WK-finale uit het veld werd gestuurd.
Argentinië, verzwakt door schorsingen en blessures, bood weinig aanvallende dreiging tijdens een wedstrijd die werd gedomineerd door de West-Duitsers, die moeite hadden om veel duidelijke doelkansen te creëren. Het enige doelpunt van de wedstrijd viel in de 85e minuut toen de Mexicaanse scheidsrechter Edgardo Codesal een penalty toekende aan West-Duitsland, na een overtreding op Rudi Völler door Roberto Sensini. Andreas Brehme, die later verklaarde dat er geen sprake was van een overtreding, nam de strafschop om de wedstrijd te beslissen. In de slotfase werd Argentinië teruggebracht tot negen nadat Gustavo Dezotti de tweede gele kaart van de wedstrijd had gekregen toen hij Jürgen Kohler naar de grond trok tijdens een spelonderbreking. De 1-0 uitslag zorgde voor een nieuwe primeur: Argentinië was het eerste team dat niet scoorde in een WK-finale.
Met zijn derde titel (en drie tweede plaatsen) werd West-Duitsland - in zijn laatste toernooi voor de nationale hereniging - de meest succesvolle WK-natie van dat moment. De West-Duitse manager Franz Beckenbauer werd de enige man die zowel aanvoerder (in 1974) als manager van een WK-winnend team was, en pas de tweede man (na Mário Zagallo van Brazilië) die het WK won als speler en als teammanager. Het was ook de eerste keer dat een team van de UEFA de finale won tegen een niet-Europees team.
| West-Duitsland  | 1-0 | Argentinië |
| Brehme 85' (pen. ) | | |
Aantal toeschouwers: 73.603
Scheidsrechter:
Edgardo Codessal