World Library  
Flag as Inappropriate
Email this Article

1984 European Cup Final

 

1984 European Cup Final

1984 European Cup Final
Match programme cover
Event 1983–84 European Cup
Liverpool won 4–2 on penalties
Date 30 May 1984
Venue Stadio Olimpico, Rome
Referee Erik Fredriksson (Sweden)
Attendance 69,693

The 1984 European Cup Final was an association football match between Liverpool of England and Roma of Italy on 30 May 1984 at the Stadio Olimpico, Rome, Italy. It was the final match of the 1983–84 season of Europe's premier cup competition, the European Cup. Liverpool were appearing in their fourth final, having won the competition in 1977, 1978 and 1981. Roma were appearing in their first European Cup final.

Each club needed to progress through four rounds to reach the final. Matches were contested over two legs, with a match at each team's home ground. Liverpool's matches ties ranged from close affairs to comfortable victories. They beat Athletic Bilbao by a single goal in the second round, while they beat Benfica 5–1 on aggregate in the quarter-finals. Roma's matches were all close affairs, winning their ties up to the semi-final by two goal margins. They beat Dundee United 3–2 on aggregate in the semi-finals, although it was later revealed that Roma attempted to bribe the referee in the second leg of the semi-final.

As the final was held at Roma's home ground they went into the match as favourites, despite Liverpool's previous record in the competition. Watched by a crowd of 69,693, Liverpool took the lead in the first half when Phil Neal scored, but Roma equalised before half-time through Roberto Pruzzo. With the scores level at 1–1 through full-time and extra-time, the match went to a penalty shoot-out. Liverpool won the shoot-out 4–2 to claim their fourth European Cup.

Route to the final

Liverpool

Round Opponents First leg Second leg Aggregate score
1st Odense 1–0 (a) 5–0 (h) 6–0
2nd Athletic Bilbao 0–0 (h) 1–0 (a) 1–0
Quarter-final Benfica 1–0 (h) 4–1 (a) 5–1
Semi-final Dinamo București 1–0 (h) 2–1 (a) 3–1

Liverpool gained entry to the competition by winning the 1982–83 Football League, entering as English champions.[1] Their opponents in the first round were Danish champions Odense. The first leg in Denmark at the Odense Stadium was won 1–0 by Liverpool. A 5–0 victory in the second leg at their home ground Anfield ensured they won the tie 6–0 on aggregate.[2]

In the second round Liverpool were drawn against Spanish champions Athletic Bilbao. The first leg in England ended 0–0, but Liverpool won the second leg at the San Mamés Stadium 1–0 courtesy of an Ian Rush goal to win the tie 1–0 on aggregate.[3] Liverpool's opponents in the quarter-finals were Portuguese champions Benfica. Liverpool won the first leg in England 1–0 after another Rush goal. The second leg at the Estádio da Luz in Portugal resulted in a comprehensive 4–1 victory for Liverpool. Thus, they won the tie 5–1 on aggregate.[4]

In the semi-final, Liverpool's opponents were Romanian champions Dinamo București. An ill-tempered first leg, which saw Liverpool captain Graeme Souness break the jaw of Dinamo midfielder Lică Movilă, was won 1–0 by Liverpool. The second leg at the Stadionul Dinamo was won 2–1 by Liverpool after two goals from Rush. Liverpool won the tie 3–1 on aggregate to progress to their fourth European Cup final.[5]

Roma

Round Opponents First leg Second leg Aggregate score
1st IFK Göteborg 3–0 (h) 1–2 (a) 4–2
2nd CSKA Sofia 1–0 (a) 1–0 (h) 2–0
Quarter-final Dynamo Berlin 3–0 (h) 1–2 (a) 4–2
Semi-final Dundee United 0–2 (a) 3–0 (h) 3–2

Roma qualified for the competition by winning the Stadio Olimpico after three second half goals from Francesco Vincenzi, Bruno Conti and Toninho Cerezo. Despite losing the second leg 2–1 in Sweden, Roma progressed to the second round, winning the tie 4–2 on aggregate.[6]

Their opposition in the second round were Bulgarian champions CSKA Sofia. Roma won the first leg in Bulgaria 1–0 and another 1–0 victory in the second leg in Italy meant Roma won the tie 2–0 on aggregate.[6] Dynamo Berlin, the East German champions were the opposition in the quarter-finals. Roma won the first leg 3–0, after goals from Francesco Graziani, Pruzzo and Cerezo. They were beaten 2–1 in the second leg at Berlin's home ground the Sportforum Hohenschönhausen, but won the tie 4–2 on aggregate.[6]

The opposition in the semi-finals were Scottish champions Dundee United. The first leg was held at Dundee United's home ground, Tannadice Park. Dundee United won the match 2–0, meaning that Roma had to win by three clear goals to progress to the final. Roma did indeed score three goals to win the tie 3–0 and progress to the final, by virtue of a 3–2 aggregate victory.[6] In 1986, Roma president Dino Viola was banned by UEFA for attempting to bribe referee Michel Vautrot with £50,000 before the match.[7]

Match

Background

Liverpool were appearing in their fourth European Cup final. They had won their three previous appearances in 1977, 1978 and 1981. Roma were appearing in their first European Cup final. Their only success in European competition was in the Inter-Cities Fairs Cup, which they won in 1961.[8]

Liverpool had finished the 1983–84 Football League as champions.[9] They had also won the 1983–84 Football League Cup beating Everton 1–0 in a replay after the final finished 0–0. Their success meant that Liverpool entered the match with the chance to win an unprecedented treble.[10] Roma had finished second during the 1983–84 Serie A and won the 1983–84 Coppa Italia, they had qualified for the European Cup Winners' Cup as a result, but victory would enable them to compete in the European Cup the following season.[11]

The final was held at the Stadio Olimpico in Rome, which was Roma's home ground. UEFA decided that the match would still be played at the stadium, despite it being Roma's home ground.[12] Therefore, the match was effectively a home match for them. The stadium was significant for Liverpool as well, as their victory in 1977 came at the ground. With home advantage Roma went into the match as favourites, and were 13–8 with bookmakers to win the match.[13]

Summary

The opening passages of the match were tentative. Faced with a hostile atmosphere, Liverpool were content to sit back and frustrate Roma.[14] Despite this tactic, Liverpool took the lead in the 15th minute. Souness and Sammy Lee exchanged passes before passing to Craig Johnston on the right hand side of the pitch. Johnston played a high cross into the Roma penalty area, which was challenged for by Roma goalkeeper Franco Tancredi and Ronnie Whelan. The result was that Tancredi dropped the ball, Roma defenders tried to clear the ball, but Michele Nappi's attempted clearance bounced off Tancredi's back and fell to Liverpool defender Phil Neal who scored to give Liverpool a 1–0 lead.[15] Two minutes later, Souness volleyed the ball into the Roma goal from close range, but his goal was disallowed for offside.[16]

Roma had a chance to equalise in the 27th minute, but Liverpool goalkeeper Bruce Grobbelaar saved Conti's low shot.[16] Neal was shown a yellow card in the 32nd minute for bringing down Conti, and a few minutes later Liverpool had an opportunity to extend their lead. Liverpool striker Rush charged down Dario Bonetti's clearance and ran onto the ball, but his shot was saved by Tancredi. With minutes remaining until half-time, Roma equalised. Sebastiano Nela passed to Conti, who ran down the left-hand side of the pitch. His first attempt at crossing the ball into the penalty area was blocked by a combination of Neal and Mark Lawrenson, but his cross rebounded back to him. His second attempt found Roberto Pruzzo in the penalty area, whose glancing header went into the Liverpool goal to level the scores at 1–1.[15]

Roma came out for the second half buoyed by their equaliser and they started the half the better of the two sides.[15] Despite this, they were unable to break down the Liverpool defence, with Lawrenson in particular performing well. Roma began to control the midfield with the Brazilian duo Falcão and Toninho Cerezo combining to combat Souness in the Liverpool midfield. Roma's best chance of this period was a 25 yards (23 m) shot from Falcão which Grobbelaar saved.[15] Roma began to lose control after their period of control, with both sides abandoning their initial game plans for fearing of conceding a goal. Liverpool substituted striker Johnston with defender Steve Nicol in the 72nd minute. The best chance of the half came in the 85th minute; Kenny Dalglish found Nicol in the Roma penalty area, but his shot was saved by Tancredi.[16] The scores stayed level throughout the remainder of the half, which meant that the match would go into extra-time.

Extra time provided little action; the only player that looked like changing the scoreline was Conti, whose runs at Neal caused the Liverpool defender problems.[15] Despite this, the score remained the same through the 30 minutes of extra time and the match went to a penalty-shoot-out. Liverpool were the first to take a penalty, but Nicol put his shot over the crossbar.[17] Graziani stepped up to take Roma's first penalty, but Roma captain Agostino Di Bartolomei took the ball from him and took the penalty instead, scoring to give Roma the lead.[18] Liverpool's next penalty was taken by their regular penalty taker Neal who scored to level the shoot-out. Conti took the next penalty for Roma, but like Nicol he put his shot over the crossbar.[19] Souness and Ubaldo Righetti converted their respective penalties to make the scoreline 2–2. Rush scored Liverpool's next penalty to make the score 3–2. Graziani stepped up again to take Roma's fourth penalty. While he was placing the ball on the penalty spot, Liverpool goalkeeper Grobbelaar was wobbling his legs in the Liverpool goal, hoping to distract Graziani. The tactic appeared to have worked as Graziani placed his penalty over the crossbar. Alan Kennedy was the next player to take a penalty and if he scored Liverpool would win the match. Kennedy scored the penalty sending Tancredi the wrong way. Liverpool won the shoot-out 4–2, thereby winning their fourth European Cup.[20]

Details

30 May 1984
20:15 CET
Liverpool 1–1 (a.e.t.) Roma
Neal Goal 13' Оverview

Report
MatchCentre

Pruzzo Goal 42'
  Penalties  
Nicol Penalty missed
Neal Penalty scored
Souness Penalty scored
Rush Penalty scored
Kennedy Penalty scored
4–2 Penalty scored Di Bartolomei
Penalty missed Conti
Penalty scored Righetti
Penalty missed Graziani
Stadio Olimpico, Rome
Attendance: 69,693[6]
Referee: Erik Fredriksson (Sweden)
Liverpool
Roma
GK 1 Bruce Grobbelaar
RB 2 Phil Neal Booked 32'
LB 3 Alan Kennedy
CB 4 Mark Lawrenson
LM 5 Ronnie Whelan
CB 6 Alan Hansen
SS 7 Kenny Dalglish Substituted off 94'
CM 8 Sammy Lee
CF 9 Ian Rush
RM 10 Craig Johnston Substituted off 72'
CM 11 Graeme Souness (c)
Substitutes:
FW 12 Michael Robinson Substituted in 94'
GK 13 Bob Bolder
DF 14 Steve Nicol Substituted in 72'
FW 15 David Hodgson
DF 16 Gary Gillespie
Manager:
Joe Fagan
GK 1 Franco Tancredi
RB 2 Michele Nappi
CB 3 Sebastiano Nela
CB 4 Ubaldo Righetti
CM 5 Paulo Roberto Falcão
LB 6 Dario Bonetti
SS 7 Bruno Conti Booked 15'
CM 8 Toninho Cerezo Substituted off 115'
CF 9 Roberto Pruzzo Substituted off 64'
DM 10 Agostino Di Bartolomei (c)
CF 11 Francesco Graziani
Substitutions:
GK 12 Astutillo Malgioglio
DF 13 Emidio Oddi
MF 14 Mark Tullio Strukelj Substituted in 115'
FW 15 Odoacre Chierico Substituted in 64'
FW 16 Francesco Vincenzi
Manager:
Nils Liedholm

Footnotes


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  1. ^
  2. ^ Ponting (1992, p. 174)
  3. ^ Ponting (1992, p. 175)
  4. ^ Ponting (1992, p. 176)
  5. ^ Ponting (1992, pp. 166–167)
  6. ^ a b c d e
  7. ^
  8. ^
  9. ^
  10. ^ Kelly (1988, pp. 161–162)
  11. ^
  12. ^ Ponting (1992, p. 167)
  13. ^ Liversedge (1991, p. 193)
  14. ^ Ponting (1992, p. 168)
  15. ^ a b c d e
  16. ^ a b c
  17. ^ Kelly (1988, p. 165)
  18. ^ Graham (1984, p. 121)
  19. ^ Liversedge (1991, p. 194)
  20. ^ Liversedge (1991, p. 195)

References

External links

  • 1983–84 season at UEFA website
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.