Veteran forward Fintan Cregg was the hero as Roscommon ended a 33-year wait for a championship victory over Mayo in Castlebar.
Cregg came off the bench to land the winning score in the 72nd minute as Anthony Cunningham’s team sprung a huge shock to book their place in their fourth successive Connacht Final against Galway next month.
Mayo’s Kevin McLoughlin had a chance to send the game to extra-time with the last kick of the match, five minutes into additional time, but his close-range free drifted narrowly wide.
And when referee David Gough blew the final whistle seconds later, Roscommon supporters in the crowd of 20,468 people braved the heavy rain to flood on to the field to celebrate with the winning team.
Roscommon actually ended the game with 14-men after making all their permitted substitutions before defender David Murray was shown a black card in the 65th minute.
However, they showed tremendous resilience and fighting spirit to hold Mayo at bay while carving out the winning score.
Mayo manager James Horan will rue the fact that his team racked up 17 wides as they spurned a plethora of chances in both halves, including a handful in the closing stages when the outcome hung in the balance.
The league champions also ended the game without a recognised free-taker on the field after Evan Regan and Jason Doherty were both replaced during the second half, so the responsibility of trying to salvage a draw fell to the aforementioned Kevin McLoughlin.
Mayo were rocked by two early Roscommon goals from Cathal Cregg and Ultan Harney, and they were never allowed to settle into their stride by their well-organised visitors.
The home side had started positively with early scores from midfielder Matthew Ruane and full-forward Darren Coen, who finished with five points from play in total.
But a blistering run from the aforementioned Cathal Cregg in the sixth minute ended with him blasting the ball to the net past Rob Hennelly.
Six minutes later and the Mayo goalkeeper was beaten again after he misplaced a short kick-out and Andy Glennon set up Ultan Harney for Roscommon’s second goal.
That left the visitors ahead by 2-1 to 0-4 and, despite Mayo landing four of the last five scores of the half, the Rossies deservedly led by 2-6 to 0-10 at the interval.
The rain fell in sheets during the second half and neither side held back with scores and cards arriving in quick succession.
Two points from the outstanding Conor Cox and a third place-kick of the evening from goalkeeper, Darren O’Malley, meant Roscommon continued to make the running.
But Mayo eventually got on level terms by the 51st minute thanks to a string of scores from Darren Coen (2), substitute Andy Moran and Paddy Durcan.
The last 25 minutes were action-packed with the lead changing hands twice as Roscommon sub’ Enda Smith and Conor Cox (free) traded scores with Mayo’s Fergal Boland who kicked two superb points.
Cox then held his nerve to level the match for the fifth time before Fintan Cregg popped up to settle the argument in additional time.
Mayo Andy Moran was also shown a black card in additional time as the game ended in a welter of excitement, and Roscommon hung on to beat their neighbours in the championship for the first time since the 2001 Connacht final.
This result was James Horan’s first defeat in the Connacht championship as Mayo manager, ending a run of 11 victories.
Roscommon will now take on Galway in the Connacht Final on Sunday, June 16 while Mayo face into the All-Ireland SFC Qualifiers for the fourth season in a row.
Roscommon: D O’Malley (0-3, 1f. 2 45s); D Murray, S Mullooly, C Daly (0-1); N Daly, C Hussey, R Daly; T O’Rourke, S Killoran; H Darcy, C Cregg (1-0), N Kilroy; U Harney (1-0), C Cox (0-5, 2fs), A Glennon (0-1).
Subs used: D Murtagh for Glennon; E Smith (0-1) for C Cregg; D Smith for Harney; C Devaney for Darcy; B Stack for R Daly (inj); F Cregg (0-1) for Kilroy.
Mayo used: R Hennelly; C Barrett, B Harrison, K Higgins; P Durcan (0-2), M Plunkett, L Keegan (0-1); M Ruane (0-2), A O’Shea; F Boland (0-2), J Doherty (0-1, 1f), D O’Connor; E Regan (0-3, 2fs), D Coen (0-5), K McLoughlin.
Subs: A Moran (0-1) for Coen; C Diskin for Regan; C Loftus for Doherty; C Treacy for Moran (black card).
Referee: D Gough (Meath)