David McMillan proved the hat-trick hero for Dundalk who came from behind to beat Shamrock Rovers 4-2 after extra-time to secure this year's FAI Cup at the Aviva Stadium.
After an opening-half stalemate, the game burst into life in the 51st minute when Aaron Greene handed the Hoops a deserved lead, heading home at the back post.
But Dundalk bounced back with two goals in two minutes, as David McMillan bagged a brace with 20 minutes remaining in what was Dundalk’s sixth consecutive FAI Cup final.
Rovers had been dominating before the McMillan double and duly bounced back with a 74th-minute header by Roberto Lopes to send the game into extra time.
Two goals in the second period of the additional time would do it for the Lilywhites as first Sean Hoare struck before McMillan broke clear to seal the win and gain a revenge for last year’s final defeat.
Freezing temperatures at the Dublin 4 venue, yet thankfully the fog stayed away for the final game of the Covid-affected 2020 season.
Both sides came to play, employing a back three and playing fast-paced football in the opening exchanges, Dundalk looking to stretch Rovers, while the Dublin club were a bit more intricate with their approach.
And it was the Hoops who enjoyed a first look at goal in the eighth minute when Graham Burke cut in from the right, after picking up a loose ball, before hitting a low-stinging effort, but it did not trouble Gary Rogers in the Dundalk goal.
Dundalk's first real look at goal arrived in the 17th minute from a set-piece when Brian Gartland’s powerful header was dealt with by Alan Mannus.
Up the other end, Aaron McEneff stung the hands of Rogers from 25 yards three minutes later as Rovers started to push deeper into Dundalk territory.
But Dundalk looked dangerous going forward and a neat move up the right in the 26th minute led to a chance for David McMillan after Sean Gannon got to the byline, however, the striker scuffed the shot wide.
Rovers were starting to maintain the pressure inside the Dundalk half and Graham Buurke had his foot taken from behind by Chris Shields to hand the Hoops a great chance to work a set-piece from the perfect position, centrally and just outside the box.
Burke dusted himself down to whip a fierce left-footed free around the wall, which forced a fine stop from Rogers who beat the ball around the post, getting down smartly to his right.
From the corner, a ball was smashed across the goal, which Liam Scales poked goalwards; a shout of handball was ignored by the referee, who awarded a corner that was eventually cleared.
Jack Byrne tried his luck from distance in the 33rd minute but it drifted wide and then the Ireland international was fortunate not to be cautioned four minutes later for a studs-up challenge that sent Gannon flying.
Cameron Dummigan had Dundalk’s best effort in the 38th minute, whipping a fine effort from the left that just stayed right and wide, while Aaron Greene smashed one over for the Hoops as half-time approached.
A late collision between O’Brien and Shields proved the most dramatic moment of the final stages of the half as the Rovers defender literally took one for the team after Dylan Watts’ mis-placed header went into the path of the Dundalk captain.
A yellow for the former Ireland international as the team headed down the tunnel for tea; O’Brien would not return for the second half, as Lee Grace replaced the former West Ham defender.
Graham Burke’s close-range effort appeared to hit Shields on the arm from a 48th-minute corner but despite the huge appeal, the referee was well placed and dismissed the shouts. Shields’ arm was stuck to his side and he could do little about it.
But if mattered little for the Hoops who took the lead from the resulting corner as Lee Grace helped a header to the back post where Greene cleverly handed home under the advances of the Dundalk stopper.
The striker’s downward header looked to be over the line before McMillan got a boot on the ball, however, he crashed it into the roof of the net and should be spared the chagrin of scoring an own goal.
Dundalk had their own penalty appeal waved away in the 53rd minute as Greg Sloggett appeared to be bundled over in the box by Sean Kavanagh but again the ref was not having it.
The Lilywhites did not help their cause in the 58th minute when caught in possession trying to play out from the back as McEneff read Shields’ pass and sent Ronan Finn in on the right.
Daniel Cleary upended the Rovers captain but the free from just outside the box was easily cleared.
Greene the goalscorer was revelling in his role and ran three or four Dundalk defenders before trying his luck from the edge of the box; the shot was deflected wide but it led to a sustained period of pressure with a couple of corners almost allowing Scales work a header on goal.
Dundalk could not get the ball out of their half as Sloggett was then cautioned for leading with his elbow on Watts, however, the respite arrived after Burke could only crash the free into the wall.
Out of nowhere, Dundalk equalised in the 69th minute.
A ball into the box from the right fell between McMillan and Scales, the striker’s header blocked by the raised boot but it was the front-man who was quickest to react and smashed his effort in off the near post.
Moments later, Scales was again involved and this time the young Rovers defender was adjudged to have hauled Dan Cleary to the ground and the referee pointed to the spot.
McMillan sent Mannus the wrong way with a fine penalty to double his tally and hand Dundalk the lead.
The league champions took just two minutes to restore parity as a corner was won, and just like Dundalk’s inability to deal with balls into the box mid-week in the Europa League defeat to Molde, Roberto Lopes popped up, rose highest and guided a fine header into the top corner of the net.
Greene then had another effort deflected just wide in the 77th minute as the Hoops looked to reassert their dominance, and McEneff should have done better from a free header a minute later but the Derry native could not work the goalkeeper.
The game really started to open up in the final ten as both sides looked a bit stretched with a touch of end-of-season fatigue working its way into the frosty December finale.
A triple-substitution for the Hoops in an effort to win it in normal time, and it kick-started their challenge as Greene rifled another effort on goal; this time Rogers could only parry the ball back out from his goal and McEneff was inches from connecting.
Puskas Award nominee Jordan Flores was sent on for the Lilywhites looking to replicate that goal, which was scored against the Hoops in the league meeting at Tallaght Stadium.
Into injury time and with an extra 30 minutes looming, Rovers almost snatched it as Burke’s low drive across the goal was, somehow, not turned home, with Lopes and substitute Rhys Marshall both just inches from contacting.
And so yet another Cup final would go to extra time; the fifth time in six years the blue riband event unable to be decided in normal time.
Dundalk were the better side in the first half of extra time but it was Rovers who came closest following a sweet counterattack down the right, which put Burke in on goal three minutes before the break.
The Rovers frontman went for power and tried to wrap his foot around the ball to curl it past Rogers but the ball was skyed when precision was called for.
First-half injury time and Gartland had to take a yellow to stop McEneff bursting into the box; Byrne's free-kick then palmed away by Rogers who picked up a knock on landing.
But then Dundalk broke the deadlock in the sixth minute of the second period as a hopeful ball into the box was only half-cleared; the ball dropping to John Mountney at the back post.
The midfielder’s mis-hit shot fell fortuitously to the feet of fellow substitute Sean Hoare, who guided the ball home from about ten yards out.
And then with three minutes remaining and with the Hoops committing bodies forward, Daniel Kelly broke free on the right flank before cutting a perfect ball into the path of the arriving McMillan.
With the Cup all-but won and the matchball on the line, the man of the match made no mistake to rattle the back of the net and take the trophy back to Oriel Park.
Shamrock Rovers: Alan Mannus; Joey O’Brien (Lee Grace HT), Roberto Lopes, Liam Scales; Ronan Finn (Rhys Marshall 83), Sean Kavanagh (Danny Lafferty 83), Aaron McEneff, Dylan Watts (Greg Bolger 83), Jack Byrne, Graham Burke; Aaron Greene (Dean Williams HT ET).
Dundalk: Gary Rogers; Brian Gartland (Sean Hoare HT ET), Daniel Cleary, Andy Boyle; Sean Gannon (Darragh Leahy 96), Cameron Dummigan, Chris Shields, Greg Sloggett (Jordan Flores 87), Michael Duffy (Daniel Kelly 111), Patrick McEleney (John Mountney 96); David McMillan.
Referee: Robert Harvey.