| Group | Qualified | Other teams |  | Group A | West Germany | Denmark, Poland, Romania, Greece |  | Group B | Italy | East Germany, Portugal, Netherlands, Iceland |  | Group C | Sweden | Hungary, Spain, Ireland, France |  | Group D | Soviet Union | Bulgaria, Switzerland, Norway, Turkey. |  | Group E | Yugoslavia | Czechoslovakia, Belgium, Austria, Finland. |   
 | 
 |  
| Group A | p | w | d | l | gf | ga |  | 1. West Germany | 12 | 5 | 2 | 1 | 16: | 4 |  | 2. Denmark | 11 | 5 | 1 | 2 | 23: | 5 |  | 3. Poland | 10 | 4 | 2 | 2 | 11: | 10 |  | 4. Romania | 5 | 2 | 1 | 5 | 5: | 17 |  | 5. Greece | 2 | 1 | 0 | 7 | 4: | 23 |   
    | Team | West | Denm | Pola | Roma | Gree |  | West Germany | --- |  1:1 | 5:1 |  3:0 | 3:0 |  | Denmark | 0:1 | --- |  3:0 | 8:0 |  4:0 |  | Poland |  1:1 | 2:0 | --- |  1:0 |  5:1 |  | Romania | 1:0 |  1:2 | 0:0 | --- | 0:1 |  | Greece |  0:2 | 0:5 | 0:1 |  2:3 | --- |   
 | 
 | 
 
| date | team 1 | score | team 2 | HT |  | 18.04.87 | Romania | 1-0 | West Germany | 1-0 |  |  Cluj-Napoca ; Gavril Balint 2'  |  | 20.05.87 | Romania | 0-0 | Poland | 0-0 |  |  Cluj-Napoca  |  | 20.05.87 | Greece | 0-5 | Denmark | 0-3 |  |  Livadeiá ; Flemming Povlsen 12', Claus Nielsen 16' 27', Ulrik Moseby 77', Kim Vilfort 79'  |  | 10.06.87 | Denmark | 8-0 | Romania | 3-0 |  |  Aalborg ; Claus Nielsen 6' 66' 83', Ulrik Moseby 28', Bjørn Kristensen 30', Lars Olsen 51', Flemming Povlsen 77', John Jensen 79'  |  | 03.09.87 | Romania | 1-2 | Denmark | 0-1 |  |  Bacau ; Gavril Balint 84' pen / Kent Nielsen 20', Lars Olsen 68'  |  | 22.09.87 | West Germany | 3-0 | Greece | 1-0 |  |  Offenbach am Main ; Frank Mill 16' 86', Wolfram Wuttke 63'  |  | 13.10.87 | West Germany | 5-1 | Poland | 4-1 |  |  Osnabrück ; Jürgen Klinsmann 10' 43', Wolfram Wuttke 21', Frank Mill 23', Christian Hochstatter 90' / Kazimierz Sokolowski 34'  |  | 28.10.87 | Poland | 2-0 | Denmark | 0-1 |  |  Szczecin ; Kim Vilfort 25' 71'  |  |  awarded 2-0 originally ended 0-2, but FIFA annonced on 13-11-87 that Denmark had fielded an ineligible player (Per Frimann), and thus the result was overturned, and Poland were awarded the match by a default score of 2-0. |  | 18.11.87 | Denmark | 0-1 | West Germany | 0-0 |  |  Århus ; Wolfram Wuttke 52' ; |  | 02.12.87 | Greece | 0-1 | Poland |   |  |  Ioánnina ; Andrzej Rudy  |  | 12.12.87 | Greece | 0-2 | West Germany | 0-2 |  |  Lárisa ; Christian Schreier 32', Fritz Walter 34'  |  | 16.03.88 | Poland | 5-1 | Greece |   |  |  Rybnik ; Grzegorz Wiezik 16', Jan Furtok x3 (1 pen), ? / Alexandros Tziolis 10'  |  | 30.03.88 | West Germany | 1-1 | Denmark | 0-0 |  |  Osnabrück ; Armin Görtz 56' / Claus Nielsen 75'  |  | 30.03.88 | Poland | 1-0 | Romania | 0-0 |  |  Piotrków Trybunalski ; Marek Lesniak 84'  |  | 13.04.88 | Romania | 0-1 | Greece | 0-1 |  |  Bucuresti ; Alexandros Alexiou 24'  |  | 20.04.88 | Denmark | 4-0 | Greece | 3-0 |  |  Aalborg ; Flemming Povlsen 5' 37', Brian Laudrup 23', Claus Nielsen 69'  |  | 27.04.88 | Poland | 1-1 | West Germany | 0-0 |  |  Chorzów ; Jan Furtok 76' pen / Frank Mill 89'  |  | 18.05.88 | Denmark | 3-0 | Poland | 1-0 |  |  Århus ; Bjørn Kristensen 14', Flemming Povlsen 68', Kim Vilfort 89'  |  | 18.05.88 | Greece | 2-3 | Romania | 2-3 |  |  Athína ; Ioukoudis 24', Theodoros Pahaturidis 26' pen / Haralambie Antohi 2', Claudiu Vaiscovici 31', Gavril Balint 40' pen ; |  | 31.05.88 | West Germany | 3-0 | Romania | 1-0 |  |  Dortmund ; Wolfram Wuttke 38' pen, Jürgen Klinsmann 57' 73'  |   
 | 
 | 
 
| Group B | p | w | d | l | gf | ga |  | 1. Italy | 13 | 5 | 3 | 0 | 11: | 1 |  | 2. East Germany | 11 | 4 | 3 | 1 | 12: | 5 |  | 3. Portugal | 8 | 2 | 4 | 2 | 4: | 6 |  | 4. Netherlands | 5 | 1 | 3 | 4 | 6: | 12 |  | 5. Iceland | 3 | 1 | 1 | 6 | 5: | 14 |   
    | Team | Ital | East | Port | Neth | Icel |  | Italy | --- |  1:1 | 1:0 |  3:0 | 2:0 |  | East Germany | 0:0 | --- |  3:0 |  4:2 |  3:0 |  | Portugal |  0:0 | 0:0 | --- | 1:1 | 2:1 |  | Netherlands | 0:1 | 0:1 |  0:0 | --- |  1:0 |  | Iceland |  0:3 | 2:0 |  0:1 | 2:2 | --- |   
 | 
 | 
 
| date | team 1 | score | team 2 | HT |  | 03.12.86 | Netherlands | 0-1 | East Germany |   |  | 18.02.87 | Italy | 1-0 | Portugal |   |  | 25.02.87 | Portugal | 1-1 | Netherlands |   |  | 25.03.87 | East Germany | 0-0 | Italy |   |  | 15.04.87 | Italy | 2-0 | Iceland |   |  | 29.04.87 | Portugal | 0-0 | East Germany |   |  | 26.05.87 | Iceland | 2-2 | Netherlands |   |  | 02.09.87 | Iceland | 2-0 | East Germany |   |  | 22.09.87 | East Germany | 4-2 | Netherlands |   |  | 07.10.87 | Portugal | 2-1 | Iceland |   |  | 18.11.87 | Italy | 1-1 | East Germany |   |  | 24.02.88 | Portugal | 0-0 | Italy |   |  | 09.03.88 | Netherlands | 0-1 | Italy |   |  | 29.03.88 | Netherlands | 0-0 | Portugal |   |  | 13.04.88 | Italy | 3-0 | Netherlands |   |  | 13.04.88 | East Germany | 3-0 | Portugal |   |  | 27.04.88 | Netherlands | 1-0 | Iceland |   |  | 30.04.88 | East Germany | 3-0 | Iceland |   |  | 24.05.88 | Iceland | 0-1 | Portugal |   |  | 29.05.88 | Iceland | 0-3 | Italy |   |   
 | 
 | 
 
| Group C | p | w | d | l | gf | ga |  | 1. Sweden | 13 | 6 | 1 | 1 | 13: | 6 |  | 2. Hungary | 11 | 5 | 1 | 2 | 13: | 8 |  | 3. Spain | 6 | 1 | 4 | 3 | 9: | 12 |  | 4. Ireland | 5 | 1 | 3 | 4 | 10: | 12 |  | 5. France | 5 | 1 | 3 | 4 | 9: | 16 |   
    | Team | Swed | Hung | Spai | Irel | Fran |  | Sweden | --- |  1:0 |  2:0 | 1:0 | 4:2 |  | Hungary | 2:1 | --- | 2:1 |  3:1 |  2:2 |  | Spain | 1:1 |  1:0 | --- |  2:2 | 1:2 |  | Ireland |  0:1 | 1:2 | 2:2 | --- |  3:0 |  | France |  1:2 | 0:2 |  1:1 | 1:1 | --- |   
 | 
 | 
 
| date | team 1 | score | team 2 | HT |  | 19.11.86 | Spain | 1-1 | Sweden |   |  | 19.11.86 | Ireland | 1-2 | Hungary |   |  | 04.02.87 | Ireland | 2-2 | Spain |   |  | 28.04.87 | France | 0-2 | Hungary |   |  | 05.05.87 | Sweden | 1-0 | Ireland |   |  | 13.05.87 | Hungary | 2-1 | Spain |   |  | 03.06.87 | Hungary | 2-1 | Sweden |   |  | 16.06.87 | Sweden | 4-2 | France |   |  | 25.07.87 | France | 1-2 | Sweden |   |  | 11.08.87 | France | 1-1 | Ireland |   |  | 26.08.87 | Ireland | 0-1 | Sweden |   |  | 09.09.87 | Sweden | 1-0 | Hungary |   |  | 13.10.87 | Sweden | 2-0 | Spain |   |  | 13.10.87 | Spain | 1-2 | France |   |  | 23.03.88 | France | 1-1 | Spain |   |  | 27.04.88 | Hungary | 2-2 | France |   |  | 04.05.88 | Hungary | 3-1 | Ireland |   |  | 18.05.88 | Spain | 1-0 | Hungary |   |  | 18.05.88 | Spain | 2-2 | Ireland |   |  | 18.05.88 | Ireland | 3-0 | France |   |   
 | 
 | 
 
| Group D | p | w | d | l | gf | ga |  | 1. Soviet Union | 14 | 6 | 2 | 0 | 12: | 2 |  | 2. Bulgaria | 10 | 4 | 2 | 2 | 13: | 5 |  | 3. Switzerland | 7 | 2 | 3 | 3 | 8: | 10 |  | 4. Norway | 5 | 0 | 5 | 3 | 1: | 7 |  | 5. Turkey | 4 | 1 | 2 | 5 | 5: | 15 |   
    | Team | Sovi | Bulg | Swit | Norw | Turk |  | Soviet Union | --- |  2:0 |  0:0 |  1:0 |  2:0 |  | Bulgaria | 0:1 | --- |  2:0 |  4:0 |  3:1 |  | Switzerland | 2:4 | 1:1 | --- | 1:0 |  2:0 |  | Norway | 0:0 | 0:0 |  0:0 | --- | 1:1 |  | Turkey | 0:2 | 0:3 | 3:2 |  0:0 | --- |   
 | 
 | 
 
| date | team 1 | score | team 2 | HT |  | 14.10 | Norway | 0-0 | Soviet Union |   |  | 08.11 | Switzerland | 1-0 | Norway |   |  | 03.12 | Turkey | 3-2 | Switzerland |   |  | 15.04 | Turkey | 0-2 | Soviet Union |   |  | 16.04 | Switzerland | 1-1 | Bulgaria |   |  | 06.05 | Norway | 1-1 | Turkey |   |  | 07.05 | Bulgaria | 0-1 | Soviet Union |   |  | 26.05 | Norway | 0-0 | Bulgaria |   |  | 12.08 | Soviet Union | 1-0 | Norway |   |  | 26.08 | Norway | 0-0 | Switzerland |   |  | 07.10 | Switzerland | 2-0 | Turkey |   |  | 28.10 | Switzerland | 2-4 | Soviet Union |   |  | 14.11 | Bulgaria | 4-0 | Norway |   |  | 18.11 | Turkey | 0-0 | Norway |   |  | 09.12 | Turkey | 0-3 | Bulgaria |   |  | 06.04 | Soviet Union | 2-0 | Turkey |   |  | 06.04 | Bulgaria | 2-0 | Switzerland |   |  | 27.04 | Soviet Union | 2-0 | Bulgaria |   |  | 10.05 | Soviet Union | 0-0 | Switzerland |   |  | 25.05 | Bulgaria | 3-1 | Turkey |   |   
 | 
 | 
 
| Group E | p | w | d | l | gf | ga |  | 1. Yugoslavia | 13 | 6 | 1 | 1 | 17: | 5 |  | 2. Czechoslovakia | 12 | 6 | 0 | 2 | 10: | 3 |  | 3. Belgium | 7 | 3 | 1 | 4 | 8: | 13 |  | 4. Austria | 4 | 2 | 0 | 6 | 7: | 11 |  | 5. Finland | 4 | 2 | 0 | 6 | 5: | 15 |   
    | Team | Yugo | Czec | Belg | Aust | Finl |  | Yugoslavia | --- |  1:0 |  4:0 |  2:1 | 5:0 |  | Czechoslovakia | 1:0 | --- | 2:0 |  1:0 |  2:0 |  | Belgium | 2:2 |  0:2 | --- | 2:3 |  1:0 |  | Austria | 0:1 | 2:0 |  0:1 | --- |  0:2 |  | Finland |  1:2 | 0:2 | 0:2 | 2:1 | --- |   
 | 
 | 
 
| date | team 1 | score | team 2 | HT |  | 14.10.86 | Finland | 0-2 | Belgium |   |  | 29.10.86 | Czechoslovakia | 2-0 | Belgium |   |  | 18.11.86 | Belgium | 2-3 | Austria |   |  | 14.04.87 | Austria | 2-0 | Czechoslovakia |   |  | 12.05.87 | Finland | 2-1 | Austria |   |  | 03.06.87 | Austria | 0-1 | Yugoslavia |   |  | 10.06.87 | Finland | 0-2 | Czechoslovakia |   |  | 26.08.87 | Yugoslavia | 2-1 | Austria |   |  | 02.09.87 | Yugoslavia | 5-0 | Finland |   |  | 23.09.87 | Czechoslovakia | 2-0 | Finland |   |  | 24.09.87 | Belgium | 2-2 | Yugoslavia |   |  | 07.10.87 | Belgium | 0-2 | Czechoslovakia |   |  | 28.10.87 | Czechoslovakia | 1-0 | Austria |   |  | 28.10.87 | Belgium | 1-0 | Finland |   |  | 11.11.87 | Austria | 0-1 | Belgium |   |  | 02.12.87 | Yugoslavia | 4-0 | Belgium |   |  | 12.04.88 | Czechoslovakia | 1-0 | Yugoslavia |   |  | 27.04.88 | Yugoslavia | 1-0 | Czechoslovakia |   |  | 18.05.88 | Finland | 1-2 | Yugoslavia |   |  | 31.05.88 | Austria | 0-2 | Finland |   |   
 | 
 |  
|   |  | Played to reduce the teams to 20. |   
| date | team 1 | score | team 2 | HT |  |  Cyprus 1-4 Greece to Group A.  |  | 12.11.86 | Cyprus | 1-2 | Greece |   |  |  Lemesós  |  | 10.12.86 | Greece | 2-0 | Cyprus |   |  |  Thessaloníki  |  |  Liechtenstein 0-19 Switzerland to Group D. |  | 10.09.86 | Liechtenstein | 0-10 | Switzerland |   |  | 23.09.86 | Switzerland | 9-0 | Liechtenstein |   |   
 | 
 |  
 |