Mayo's unbeaten start to the season continued as they kept a second-half Roscommon comeback at bay to run out deserving winners at Dr Hyde Park.
Kevin McStay's side laid their foundation for victory in the opening 19 minutes when they hit the first seven points of the contest to build up a commanding lead.
By the midway mark, they were 0-09 to 0-04 ahead, and when a mix-up between Colin Walsh and Conor Daly gifted a 48th-minute goal to Mayo centre-forward Jack Carney, the visitors were 1-12 to 0-07 ahead and cruising.
But Roscommon never threw in the towel and an Enda Smith goal, which was followed by another green flag for Conor Cox in injury-time, made for a grandstand finish.

However, Mayo made sure of victory when Matthew Ruane clipped over the insurance score, although Diarmuid O’Connor made a last-ditch block to deny Ben O’Carroll a sensational winning goal for the Rossies.
Mayo made five changes to their starting line-up beforehand, with Tommy Conroy, Cillian O’Connor and Paddy Durcan returning to the side for their first league starts of the season.
On the other hand, Roscommon lacked energy and were extremely passive during the opening half. A number of cheap turnovers allowed Mayo to feast on some eyecatching scores as Conroy, O’Connor (three frees), James Carr, Fionn McDonagh and a ’45 from goalkeeper Rory Byrne opened up a seven-point advantage.
Roscommon stemmed the bleeding somewhat from there until the end of the half as Diarmuid Murtagh (3) and Conor Daly got their side up and running, but further points from Carr and O’Connor (free) handed the visitors a comfortable 0-09 to 0-04 advantage at the interval.
Ciaráin Murtagh’s introduction ignited the Rossies somewhat, but the game’s general trend continued, and when Carney pounced for his goal to open up a seven-point lead, the game looked to be done and dusted.

But Roscommon hadn’t read the script and Smith’s 55th-minute goal gave his side some fleeting hope.
Mayo, who introduced Aidan O’Shea and Ryan O’Donoghue, were always able to keep the scoreboard ticking over and Conroy was unlucky to see a palmed goal-bound effort come back off the post.
In the first minute of injury-time, substitute Cox pounced for a second Roscommon goal, a score that threatened to throw the cat among the pigeons as Mayo’s lead was reduced to just a point.
But Mayo held on, thanks to Ruane’s late score, to leave them the warmest of favourites to reach the league final a week before they are due to renew their rivalry with Roscommon in the Connacht championship on Easter Sunday.
Roscommon: Colm Lavin; Conor Hussey, Conor Daly (0-01), David Murray; Colin Walsh, Brian Stack, Niall Daly; Tadhg O’Rourke (0-01), Keith Doyle; Richard Hughes, Ciarán Lennon, Enda Smith (1-01); Ben O’Carroll, Diarmuid Murtagh (0-04, 0-03f), Robbie Dolan.
Subs: Ciaráin Murtagh (0-02, 0-01f) for Dolan (23), Daire Cregg (0-01) for Lennon (h-t), Niall Kilroy for Doyle (49), Donie Smith for Conor Daly (52), Conor Cox (1-01, 0-01f) for Diarmuid Murtagh (61).
Mayo: Rory Byrne (0-01, 0-01 ’45); Jack Coyne, David McBrien, Paddy Durcan; Stephen Coen, Conor Loftus, Sam Callinan; Matthew Ruane (0-01), Diarmuid O’Connor; Fionn McDonagh (0-01), Jack Carney (1-01), Jordan Flynn; Cillian O’Connor (0-07, 0-06f), James Carr (0-03), Tommy Conroy (0-01).
Subs: Bob Tuohy (0-01) for McDonagh (48), Aidan O’Shea for Flynn (54), Ryan O’Donoghue for Cillian O’Connor (61), Conor McStay for Carr (67), Jason Doherty for Conroy (67).
Referee: Brendan Cawley (Kildare).