The Connacht champions, mainly through the accuracy of Conor Mortimer, were 0-7 to 0-2 ahead at the interval. But Roscommon, inspired by Kevin Higgins’ spectacular 51st minute goal, played much better in the second half.
Further points from John Rogers and Donal Shine brought the sides level with three minutes remaining before Moran and Dillon swung it in favour of James Horan’s side.
MAYO: D. Clarke (0-1, a ‘45); K. Higgins, S. McHale, L. Keegan; R. Feeney, D. Vaughan, C. Barrett; S. O Shea (0-1), J. Gibbons; K. McLoughlin, A.
Dillon (0-1), P. Harte (0-1); A. Freeman (0-2), B. Moran (0-1), C. Mortimer (0-6, 3f).
Subs: C. Campbell for Clarke (h/t), A. Feeney for Vaughan (37), M. Walsh for Higgins (37), A. Moran (0-1) for McLoughlin (49), C. O’Connor for Mortimer (49).
ROSCOMMON: G. Claffey; S. McDermott, J. Sharkey, S. Purcell; C. Dineen, J. Rogers (0-1, 1f), M. Higgins; M. Finneran, K. Higgins (1-1); C. Daly, E. Kenny, D. McDermott (0-1); C. Devaney, D. Shine (0-4, 2 ‘45s, 1f), G. Heneghan (0-2).
Subs: S. Oates for McDermott (49), D. Rogers for Daly (57), M. Scally for Devaney (57).
Referee: R. McBrien (Leitrim).