Mayo edged closer to Allianz Football League Division 1 safety following a 1-10 to 0-09 victory over Donegal in Castlebar.
Michael Conroy's second half goal and two late scores from Enda Varley were enough for the westerners in the repeat of last year's All-Ireland SFC final, with both teams finishing with 14 men.
Donegal were sloppy overall and lost Neil McGee in the second half with a bad looking ankle injury, as Barry Moran was masterful in midfield for the hosts.
In a dogged first half, Seamus O’Shea had a lash at goal after just 20 seconds but his effort flashed wide, before Mayo got off the mark thanks to a pinpoint free from last year’s Young Footballer of the Year Cillian O’Connor.
The All-Ireland champions began with 14 of their starters from last September’s showdown and hit back with two scores in the space of a minute thanks to Colm McFadden’s free and a trademark score from Michael Murphy.
Donegal then got their first sniff at goal after six minutes when Anthony Thompson played a long ball in towards Patrick McBrearty, and as he attempted to find Murphy waiting inside goalkeeper David Clarke was at hand to catch it and clear.
Murphy soon tapped over a free off the ground before McFadden curled over a beauty to give the Ulstermen a 0-04 to 0-01 cushion - but they would fail to score again in the first half.
O’Connor pointed and the impressive Kevin McLoughlin scored a free before both added two more from play to give Mayo the lead.
The free count was in overdrive as the Connacht champions won one last kick near the goal which O’Connor dispatched to see his side lead 0-06 to 0-04 at the break.
After the restart it was Donegal who regained the initiative, with a high work-rate resulting in Martin O’Reilly fisting over an early score. After that, McBrearty found himself in space and failed to get a shot away but McFadden was at hand to finish off another point.
Anthony Thompson seemed to be everywhere for Jim McGuinness' men and after another O’Connor free the Glenties man found Rory Kavanagh who sailed his kick between the posts to even the game again.
Kavanagh was then at hand to launch another Donegal attack, playing in Martin O'Reilly but he lost the ball to Cathal Carolan and Mayo immediately pelted forward.
Carolan found the supporting Keith Higgins who played a neat exchange with Seamus O’Shea, and his final ball to Conroy sliced open the Donegal defence as he looped it over the advancing Paul Durcan and into the net via the post.
At this stage Donegal’s problems were mounting as Neil McGee limped off with a worrying looking knee problem and Thompson got an early bath, picking up a second yellow card for hauling down Chris Barrett.
Although Ryan McHugh raised a white flag with a fine score, Mayo showed extreme grit and resilience in their defending. Wing back Colm Boyle became the latest of their guard to knock one over the bar following good build-up play from the back.
As the final ten minutes began, McFadden got on the end of another Donegal attack but Barrett was at hand again to steal the ball off him and clear. A minute later Murphy dispatched his third point of the game from a placed ball but the Tir Chonaill men needed a goal.
Mayo forward Jason Doherty’s afternoon was then cut short as he collected a second yellow card.
However, Barry Moran again turned Donegal over to send Varley in for his late cameo which saw him add a second late point deep into stoppage time, sealing a much-needed success for James Horan's charges.