Dundalk are on course for another extra.ie FAI Cup final appearance – what would be their sixth on the bounce – to conclude this bonkers domestic season after overcoming Bohemians in an epic first half that essentially decided the outcome on a chilly evening in Dublin.

The Lilywhites must first beat rank outsiders Athlone in a semi-final, but on this evidence they will have no problems and it was another evening that underlined that when it comes to 2020, Dundalk are about as predictable as the latest round of government restrictions.

They were comfortably the better side here and, whilst they had a bit of luck on their side, first-half goals from Michael Duffy and David McMillan (two) showcased the talents of the 2019 league champions, who seem to turn it on when they need to under rookie boss Filippo Giovagnoli.

Andre Wright's penalty had Bohs level briefly in a game in which they laboured and were basically second-best. It's a somewhat tame end to a decent season for Bohs, with their return to European combat serving as a taster for more of that in 2021, and a late Nathan Oduwa goal after Michael Barker had been sent off augmented their misery.

Without Pat Hoban, and with some other key players on the bench, Dundalk were sharp from the get-go and, crowd or no crowd, the prospect of them facing Shamrock Rovers potentially in a Cup final this season is something to savour on this evidence.

Dundalk's opener on two minutes was a thing of beauty. Stefan Colovic found McMillan and, having assessed what was happening, he jabbed a ball through to Duffy, who finished with conviction. It seemed as if the game had barely started and the home side, facing into the teeth of the breeze, were behind.

Dundalk were utterly dominant and eight minutes in Dan Cleary headed over, home stopper James Talbot unhappy with his defence.

Bohs found their composure pretty quickly and were awarded a penalty after 14 minutes. Wright tried to hook the ball home from close range but Chris Shields intervened with his hands raised and referee Rob Harvey had no choice but to award a penalty, which Wright – after a scare, Gary Rogers nearly getting enough of his left hand to the ball – converted with 15 gone.

Dundalk came right back, Shields almost negating the earlier blow, but Talbot followed his shot with the coolness and attention of a sniper, collecting well.

Dundalk's attacking play was incisive and the outstanding Duffy was put in again by Colovic midway through the half; this time Talbot's collection was less conventional but again he was smarting with his defenders afterwards.

Danny Grant had been relatively quiet in the first half-hour but, after Dan Casey's marauding run, Grant's drilled strike reminded all of his presence.

Two minutes later the Ireland Under-21 international, consistently linked with a move across the Irish Sea in the near future, forced Rogers to get down low to his right.

Dundalk were back in front 10 minutes before the break. Duffy ran into the box and, foolishly bundled over by Keith Buckley, that allowed McMillan to net from the spot.

Remarkably, the visitors made it 3-1 seven minutes before the break. Cameron Dummigan squared for McMillan, who headed home at the near post, though there was considerable suspicion as to whether the Ulster man had connected with the ball after it had edged by the end-line.

A wildly entertaining first half – if only folk were here to see it – ended with another dramatic moment,  Barker's cross finding Wright, whose header was brilliantly headed off the line by Andy Boyle. Breathless stuff.

Sean Gannon has not had one of his better seasons but he was good for Dundalk tonight, though he embodied worry on the hour mark as Grant ghosted in behind the Ringsend man, but his header lacked power after a lovely ball from Conor Levingston.

Dundalk did not look fully secure just a goal up and Rogers preserved that advantage amazingly well at the start of the third quarter. Initially he saved from substitute Jack Moylan but, Dundalk having failed to clear properly, the Meath man made a stunning double save from 16-year-old substitute and fellow Meath man Evan Ferguson.

What little hope Bohs had effectively evaporated with 18 minutes left as Barker was shown a second yellow after a somewhat despairing tackle on Shields.

Talbot, who did little or nothing wrong all evening, preserved a two-goal deficit with saves from substitute Dan Kelly and the hat-trick-seeking McMillan.

However, substitute Oduwa made it 4-1 after connecting with a Duffy cross, Shields having put the Derry native through with a gorgeous daisycutter.

For Giovagnoli, this will leave him excited for next season, for all that this one has plenty of spice left for a squad he is still getting to know. 

Keith Long, who recently signed a new four-year deal with Bohs, will reflect on this evening and ponder as to what he needs to do to make Bohs better next season, with one or two key players about to leave. 

Bohemians: Talbot; Barker, Casey, Cornwall, Kirk; Grant, Buckley, Levingston (Moylan 66), Devoy, Omochere (Ferguson 56); Wright.

Dundalk: Rogers; Gartland, Boyle, Cleary; Gannon (McEleney 73), Shields, Sloggett, Dummigan (Kelly 80); Colovic (Mountney 73), McMillan (Oduwa 86), Duffy.