Mayo, who came into the game buoyed by their impressive extra-time win over All-Ireland champions Galway, were 0-8 to 0-7 ahead at the interval, mainly due to Conor O’Shea’s prosperity in the full-forward line.
But the home time totally dominated the second half, helped by a few shrewd substitutions from manager Nigel Dineen.
However, they had to wait until Donal Smith’s excellent 64th-minute goal to make their superiority count on the scoreboard.
Roscommon now meet Sligo or Leitrim in the final.
ROSCOMMON: N Connaughton; R Stack, C Duignan, D Murray; C Daly, P Brogan, C Cafferky; F Kelly, N Daly (0-1); F Cregg (0-1), N Kilroy (0-1), D Clabby; C Connolly (0-1), C Compton (0-1), D Smith (1-4, 3f).
Subs: S Oates (0-1) for Clabby (h-t), J McManus for Connolly (41), C Shine for Kelly (41), C Murtagh (0-1) for Cregg (50).
MAYO: P Mannion; M Walsh, N Freeman, D Gavin; C Crowe, S McDermott, M Forde; A Walsh (0-1, ’45), D Geraghty; A Farrell, C O’Connor (0-3, 3f), B Harrison; E Regan (0-2, 1f), D Coen, C O’Shea (0-3).
Subs: J Shaughnessy (0-1, 1f) for Harrison (35), D Kirby for Farrell (43), C Walsh for Coen (50), A O’Toole for Regan (57).
Referee: R McBrien (Leitrim).