Donegal kept their hopes of an All-Ireland semi-final alive with a competent display to overcome Roscommon in Dr. Hyde Park.
Apart from a brief spell in the opening ten minutes, Donegal were in control, but they know they will face a much tougher test in two weeks' time when they host Tyrone in Ballybofey.
Michael Murphy put in a magnificent display, hitting 0-9, and generally being the leader all over the field.
Donegal took a little while to settle and they were not helped by a referee that ignored two clear frees.
Roscommon took advantage to register the first two points from Ciarain Murtagh and Diarmuid Murtagh after a long delivery from Conor Devaney almost had the corner forward in for a goal.
Donegal got on the board thanks to good approach work by Hugh McFadden and Ryan McHugh with Jamie Brennan pointing. Brennan was really lively in the opening half but also hit four of the seven wides that Donegal recorded.
Brian Stack put Roscommon two ahead again before Brennan was denied a goal by a great save from Colm Lavin. From the '45' Michael Murphy cut the deficit.
Ciarain Murtagh edged Roxcommon 0-4 to 0-2 ahead on 12 minutes, but they wouldn't score again until a minute from the break.
Donegal began to take control, especially around the middle. The points began to flow. Ciaran Thompson (free) from an awkward angle had it back to one before Odhran Mac Niallais levelled on 18 minutes.
Jamie Brennan won a free for Michael Murphy to point Donegal ahead and Ciaran Thompson doubled the lead, before Murphy hit three in-a-row, one better than the other and the final one with his left to open the gap to 0-9 to 0-4.
Shaun Patton was called into action on 27 minutes to deny Brian Stack before Cathal Compton pulled a point back for Roscommon.
In added time Michael Langan, who was to the fore in the second quarter, drove through the middle to leave it Donegal 0-10, Roscommon 0-5 at the break.
Brian Stack had a Roscommon point from the restart but Odhran Mac Niallais cancelled it after a great pass from Ciaran Thompson. Ciarain Murtagh added another but super points from Mac Niallais and Murphy had Donegal six ahead, 0-13 to 0-7.
Enda Smith had a good point for Roscommon but Michael Murphy punished a foul with an easy free.
He added another, his eighth, after Donegal's best move of the match on 52 minutes to stretch the lead to seven.
Donegal stretched the lead with further points from Murphy and Ryan McHugh but Diarmuid Murtagh and Donal Smith replied. Donegal almost had a goal when a long kick out saw Ryan McHugh set up Mac Niallais but his effort came back off the butt of the post.
Ciarain Murtagh tapped over a free and the leeway was down to five with eight minutes left but Michael Murphy steadied the ship with a free on 65 minutes.
Odhran Mac Niallais capped a good second half display with another point while Leo McLoone chipped in with another on 70 minutes.
In added time Donegal broke for Martin O'Reilly to add another while Donal Smith had Roscommon's final score.
Scorers - Donegal: Michael Murphy 0-9, 45,3f; Odhran Mac Niallais 0-4; Ciaran Thompson 0-2,1f; Michael Langan, Leo McLoone, Ryan McHugh, Martin O'Reilly, Jamie Brennan 0-1 each.
Roscommon: Ciarain Murtagh 0-4,2f; Diarmuid Murtagh 0-3,1f; Brian Stack, Donal Smith 0-2 each; Enda Smith, Cathal Compton 0-1 each
ROSCOMMON: Colm Lavin; David Murray, Niall McInerney, Sean McDermott; John McManus, Fintan Cregg, Conor Devaney; Tadgh O'Rourke, Cathal Compton; Ciarain Murtagh, Niall Kilroy, Enda Smith; Diarmuid Murtagh, Brian Stack, Cathal Cregg.
Subs., Ciaran Lennon for Compton ht; Donal Smith for C Cregg 44; Finbar Cregg for McDermott 48; Padraig Kelly for B Stack 58; Ian Kilbride for F Cregg 62
DONEGAL: Shaun Patton; Paddy McGrath, Stephen McMenamin, Eoghan Ban Gallagher; Frank McGlynn, Paul Brennan, Eamonn Doherty; Hugh McFadden, Michael Murphy; Ryan McHugh, Leo McLoone, Ciaran Thompson; Odhran Mac Niallais, Michael Langan, Jamie Brennan.
Subs., Neil McGee for E Ban Gallagher 19; Niall O'Donnell for J Brennan 53; Anthony Thompson for McGlynn 55; Daire O Baoill for P Brennan 62; Mark McHugh for C Thompson 63; Martin O'Reilly for Langan 68
REFEREE: Ciaran Branagan (Down)