Roscommon will play Mayo in next week's Eirgrid Connacht U-20 football championship final after they held on through a topsy-turvy finish in tonight’s semi-final clash with Sligo.

The home side had been much the better team throughout the first 40 minutes of the contest, and when a sensational run and finish from Ronan Garvin made it 2-9 to 0-6 in their favour, it looked like they would ease over the line for a comfortable victory.

That mindset seemed to seep through to the players as well though, as they then seemed happy to trade points with a Sligo side that was much more limited in terms of attacking flair and skill, allowing the Yeats County to stay in the game, albeit always eight or nine points adrift.

That was up until a stunning strike from centre back Seán Carroll that flew past Conor Carroll in the Roscommon goal cut the lead to six.

With starting midfielder Matthew Clavin causing chaos on the edge of the Roscommon penalty area when competing for high ball, Sligo suddenly felt that the game was there for the taking. Successive points from Aaron Perry and Oisín Flynn cut the gap further, leaving four between the sides going into stoppage time.

The sense of relief among the home supporters and players in the Hyde was palpable when a breakaway move put Roscommon through on goal and with Ben O’Carroll waiting at the far post, a subtle little dummy from Jason Doory committed the Sligo goalkeeper and opened up the net for a tap-in finish.

With the next play, Robbie Dolan won possession and floated the ball in over the heads of the Sligo defenders, allowing James Fitzpatrick to scramble in his second goal, and even though there was still time for Joseph Keaney to fire in a truly world-class goal at the graveyard end of the ground, by then Roscommon had done enough to secure their passage to Castlebar this night week.

Despite playing much the better football early in the game, it wasn't until the latter end of the first half that Roscommon made their dominance count on the scoreboard.

Even though Sligo were right in the contest with 25 minutes gone, at just 0-6 to 0-3 behind, there was no masking the home side’s dominance on the field of play.

Defensively, Roscommon had control of the Sligo forwards, Keith Doyle was imperious at midfield making a series of spectacular high catches, and up front Roscommon showed great movement, pace and cohesion – all they lacked was the finishing touch.

Three glorious goal chances went abegging, albeit one as a result of a magnificent save from Keelan Harte, while Sligo were making the most of their scraps – they dropped two chances short but didn’t hit a wide ball until just before the second half water break.

Five minutes before half time changed all that. A simple free from Daire Cregg and a punched point from Adam McDermott increased the lead, then a huge break went Roscommon’s way when a high shot from Patrick Gavin came back into play off the upright and enabled James Fitzpatrick to outjump Harte and touch the ball over the line with his fingertips.

With the wind now at their backs, Sligo kicked three of the first four scores of the second half, but it seemed like their chances of progression were on life support until yet another magnificent high catch from Doyle set his midfield colleague Ronan Garvin off on a slaloming run that ended with a sensational goal.

That should have been the end of the drama, but there were a few twists in the tale still to come.

Roscommon: Conor Carroll; Conor Lohan, Colin Walsh (0-01), Dylan Gaughan; Patrick Gavin, Tomás Crean, Cian Glennon; Keith Doyle, Ronan Garvin (1-00); Robbie Dolan, Daire Cregg (0-04, 0-03 frees), Darragh Heneghan; James Fitzpatrick (2-02), Ben O’Carroll (0-03, 0-02 frees), Adam McDermott (0-03).

Subs: Rúaidhrí Fallon for Heneghan (28), Jason Doory (1-00) for Cregg (48), Gavan Murray for Lohan (48), Jack Lohan for Glennon (52), Seán Trundle for Gaughan (56)

Sligo: Keelan Harte; Mark Walsh, Tristan Gilligan, Ciarán McKeon; Ciarán O’Reilly (0-01), Sean Carroll (1-00), Jack Lavin; Matthew Clavin, Feidhlim O’Donnell; Connor Finn, Lee Deignan (0-05, 0-03 frees, 0-01 45), Joseph Keaney (1-00); Gavin Duffy (0-01), Oisín Flynn (0-03 frees), Jack Davitt (0-01).

Subs: Aaron Perry (0-01) for Lavin (22), Brian Callaghan for O’Donnell (38), Jim Davis for Duffy (45), Luke Casserly for Deignan (55)

Referee: James Molloy (Galway)