Mayo 4-17 Donegal 1-10
Mayo claimed revenge for last year's All-Ireland final defeat to Donegal, with a crushing 16-point victory over the Ulster side in Croke Park this afternoon.
The Heather County were ruthless with early goals from Cillian O'Connor and Donal Vaughan helping the Connacht champions to an impressive 2-10 to 0-4 interval lead.
Mayo added further goals from O'Connor, to complete his a second hat-trick in as many games on the restart.
Eamon McGee was dismissed for Donegal in the second half, with Aidan O'Shea also seeing red for Mayo late on, but a last-gasp Colm McFadden goal was mere consolation for Donegal.
With off-field mind-games being played out in the media between the respective camps midweek, and the spice of last year's final meeting adding to the mix, this game was one of the most eagerly anticipated of the Championship to date.
There was mixed news ahead of throw-in for Jim McGuinness, with the news that key forward Mark McHugh was available for selection, with the Kilcar man replacing David Walsh in Donegal's starting line-up.
However, Karl Lacey failed to start this match, with Declan Walsh once again featuring in defence.
Mayo manager James Horan made one change to his midweek announced selection, with Chris Barrett coming in, in place of Richie Feeney.
If fans from both counties and neutrals alike were suffering flashbacks in reverse of last year's All-Ireland final, it certainly seemed to be the case in the opening half, as early goals proved key.
Last year Donegal hit Mayo for two early goals, but this time it was the Westerners who bagged two vital three-pointers in the opening 35 minutes.
O'Connor on hand with Mayo's opening goal after just six minutes, following a pass from Kevin McLoughlin.
Vaughan scored the the second nine minutes later to push Mayo into a 2-3 to 0-3 lead.
Michael Murphy cut the deficit to five points with a long-range free, but Donegal wouldn't score again before the break, as points from McLoughlin, O'Connor, Vaughan and Colm Boyle handing Mayo a 12-point interval advantage.
Mayo had been slated for the 18 wides amassed during their Connacht final victory over London last time out, but it was clear that Horan's men had worked hard on improving their shooting.
They just registered two first-half wides, one inside the opening 29 minutes, with 2-8 of their 2-10 first half tally coming from open play.
Mayo unlucky not to be further ahead at this stage, with Cathal Carolan cutting through with a soccer-style effort, but denied by the post in the 35th minute, with McLoughlin sending the ball wide from the rebound.
Mayo supporters were on their feet as the teams entered the dressing rooms at the break, with McGuinness and his back room team knowing that there was a lot to do if his side were to keep hold of their chance of retaining an All-Ireland title.
Donegal supporters also heading for the exits, even with 35 minutes left on the clock.
Martin McElhinney and David Walsh entered the action after the break, with Ryan Bradley and Neil McGee making way, but once again Mayo were ruthless.
Seamus O'Shea opened Mayo's second-half account, before O'Connor bagged yet another goal, with Vaughan cutting through to set up the full-forward and push Mayo 3-11 to 0-4 in front.
O'Connor quickly completed his hat-trick, after Paul Durcan initially denied Andy Moran of a goal, with Donegal looking less than sharp in defence at this stage.
Donegal's woes were further compounded by the dismissal of Eamon McGee soon after on a straight red card, but the Tir Chonaill men didn't give up.
Colm McFadden broke through for a late goal on a rare lapse for the Mayo defence, and coupled with a second yellow card for Aidan O'Shea, things started to go in Donegal's favour late on.
But this was firmly too late for Donegal to even rescue a draw, as Mayo deservedly booked a last-four date with Tyrone.
Scorers for Donegal: M Murphy 0-5 (0-4f), C McFadden 1-0 (1-0 f) M McHugh 0-2, David Walsh, M McHugh, K Lacey 0-1 each.
Scorers for Mayo: C O’Connor 3-4 (0-2f, 0-1 45), D Vaughan 1-0, A Dillon, A Freeman 0-2 each; C Boyle, A Moran, K McLoughlin, C Boyle, L Keegan, S O’Shea, K Keane, E Varley, C Barrett, R Feeney 0-1 each.
Donegal: P Durcan, P McGrath, N McGee, E McGee, F McGlynn, K Lacey, A Thompson, N Gallagher, R Kavanagh, R Bradley, R McHugh, David Walsh, P McBrearty, M Murphy, C McFadden.
Subs: K Lacey for A Thompson (23), D Walsh for R Bradley (HT), M McIlhinney for N McGee (HT), L McLoone for R Kavanagh (44), M Boyle for P McGrath (60).
Mayo: R Hennelly, T Cunniffe, G Cafferkey, K Higgins, L Keegan, D Vaughan, C Boyle, A O'Shea, S O'Shea; K McLoughlin, R Feeney, A Dillon; C O'Connor, A Freeman, A Moran.
Subs: C Carolan for T Cunniffe (27), R Feeney for A Dillon (47), E Varley for A Moran (49), D Coen for C O’Connor (54), K Keane for C Boyle (58).