Mayo claimed revenge for last year's All-Ireland Final defeat to Donegal with a 4-17 to 1-10 victory in Croke Park this afternoon.
Mayo were ruthless with early goals from Cillian O'Connor and Donal Vaughan helping the Connacht Champions to a 2-10 to 0-04 interval lead.
Mayo added further goals on the restart, with O'Connor completing his second hat-trick in as many games.
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 Jimmy McGuinness, with the news that key forward Mark McHugh was available for selection, 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 starting in place of Richie Feeney.
Fans from both counties and neutrals alike were suffering flashbacks of last year's All-Ireland final in the opening half, as early goals again 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 was on hand with Mayo's opening goal after just six minutes following a pass from Kevin McLoughlin. The second came from Vaughan nine minutes later to push Mayo into a 2-03 to 0-03 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 clearly evident 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 were unlucky not to be further ahead at this stage, with Cathal Carolan cutting through with a soccer style effort in the 35th minute, but was denied by the post. McLoughlin sent 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.
Some Donegal supporters were 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-04 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 it was too late for Donegal, as Mayo deservedly booked a last-four date with Tyrone.
Scorers for Donegal: M Murphy 0-05 (0-4f), C McFadden 1-00 (1-0 f) M McHugh 0-02, David Walsh, M McHugh, K Lacey 0-01 each.
Scorers for Mayo: C O’Connor 3-04 (0-2f, 0-1 45), D Vaughan 1-00, A Dillon, A Freeman 0-02 each; C Boyle, A Moran, K McLoughlin, C Boyle, L Keegan, S O’Shea, K Keane, E Varley, C Barrett, R Feeney 0-01 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).