| Date | Venue | Match | Result |
| 19 Oct 1988 | London | England v Sweden | 0-0 |
| 19 Oct 1988 | Chorzow | Poland v Albania | 1-0 |
| 05 Nov 1988 | Tiranë | Albania v Sweden | 1-2 |
| 08 Mar 1989 | Tiranë | Albania v England | 0-2 |
| 26 Apr 1989 | London | England v Albania | 5-0 |
| 07 May 1989 | Solna | Sweden v Poland | 2-1 |
| 03 Jun 1989 | London | England v Poland | 3-0 |
| 06 Sep 1989 | Solna | Sweden v England | 0-0 |
| 08 Oct 1989 | Solna | Sweden v Albania | 3-1 |
| 11 Oct 1989 | Chorzow | Poland v England | 0-0 |
| 25 Oct 1989 | Chorzow | Poland v Sweden | 0-2 |
| 15 Nov 1989 | Tiranë | Albania v Poland | 1-2 |
| Group 2 | Ply | W | D | L | F | A | Pts |
| Sweden | 6 | 4 | 2 | 0 | 9 | 3 | 10 |
| England | 6 | 3 | 3 | 0 | 10 | 0 | 9 |
| Poland | 6 | 2 | 1 | 3 | 4 | 8 | 5 |
| Albania | 6 | 0 | 0 | 6 | 3 | 15 | 0 |
England qualified by finishing second in the group behind Sweden.
| Date | Venue | Match | Result | Att | Referee |
| 11 Jun 1990 | Cagliari | England v Ireland | 1-1 | 35,200 | Schmidhuber (GER) |
| 12 Jun 1990 | Palermo | Holland v Egypt | 1-1 | 33,200 | Soriano (ESP) |
| 16 Jun 1990 | Cagliari | England v Holland | 0-0 | 35,000 | Petrovic (YUG) |
| 17 Jun 1990 | Palermo | Ireland v Egypt | 0-0 | 33,300 | van Langenhove (BEL) |
| 21 Jun 1990 | Cagliari | England v Egypt | 1-0 | 34,900 | Rothlisberger (SUI) |
| 21 Jun 1990 | Palermo | Holland v Ireland | 1-1 | 33,200 | Vautrot (FRA) |
| Group F | Ply | W | D | L | F | A | Pts |
| England | 3 | 1 | 2 | 0 | 2 | 1 | 4 |
| Republic of Ireland | 3 | 0 | 3 | 0 | 2 | 2 | 3 |
| Holland | 3 | 0 | 3 | 0 | 2 | 2 | 3 |
| Egypt | 3 | 0 | 2 | 1 | 1 | 2 | 2 |
England finished top of the group and qualified for the next phase of the tournament.
Positions of Ireland and Holland were determined by drawing lots.
| Date | Venue | Match | Result | Att | Referee |
| 23 Jun 1990 | Naples | Cameroon v Colombia | 2-1 | 50,000 | Lanese (ITA) |
| 23 Jun 1990 | Bari | Czechoslovakia v Costa Rica | 4-1 | 48,000 | Kirschen (DDR) |
| 24 Jun 1990 | Turin | Argentina v Brazil | 1-0 | 61,000 | Quiniou (FRA) |
| 24 Jun 1990 | Milan | West Germany v Holland | 2-1 | 75,000 | Lostau (ARG) |
| 25 Jun 1990 | Genoa | Ireland v Romania | 0-0* | 32,000 | Ramiz Wright (BRA) |
| 25 Jun 1990 | Rome | Italy v Uruguay | 2-0 | 73,000 | Courtney (ENG) |
| 26 Jun 1990 | Verona | Yugoslavia v Spain | 2-1 | 35,000 | Schmidhuber (GER) |
| 26 Jun 1990 | Bologna | England v Belgium | 1-0 | 34,000 | Mikkelsen (DEN) |
England qualified for the Quarter Finals.
*Ireland won 5-4 on penalties.
| Date | Venue | Match | Result | Att | Referee |
| 30 Jun 1990 | Florence | Argentina v Yugoslavia | 0-0* | 39,000 | Rothlisberger (SUI) |
| 30 Jun 1990 | Rome | Italy v Ireland | 1-0 | 73,000 | Valente (POR) |
| 01 Jul 1990 | Milan | W.Germany v Czechoslovakia | 1-0 | 73,000 | Kohl (AUT) |
| 01 Jul 1990 | Naples | England v Cameroon | 3-2 | 55,000 | Codesal Mendez (MEX) |
England qualified for the Semi Finals.
*Argentina won 3-2 on penalties.
| Date | Venue | Match | Result | Att | Referee |
| 03 Jul 1990 | Naples | Argentina v Italy | 1-1* | 60,000 | Vautrot (FRA) |
| 04 Jul 1990 | Turin | West Germany v England | 1-1** | 63,000 | Ramiz Wright (BRA) |
*Argentina won 4-3 on penalties.
**West Germany won 4-3 on penalties.
England were eliminated, but played in the third place match.
| Date | Venue | Match | Result | Att | Referee |
| 06 Jul 1990 | Bari | Italy v England | 2-1 | 51,000 | Quiniou (FRA) |
England lost the match but finished in 4th place in the tournament.