Fermanagh fought back from five points down to stun Donegal in Division Two of the Football League as Armagh earned their first win by beating Tipperary.
Donegal moved 0-5 to 0-1 up and despite Caolan McGonagle's dismissal still led 0-8 to 0-4 at half-time in Letterkenny.
However, Fermanagh made their numerical advantage tell in the second half as Ciaran Corrigan's four points helped them fight back to win 0-13 to 0-10.
A dominant Armagh won 1-15 to 0-12, helped by Charlie Vernon's early goal.
Donegal's defeat continued a miserable run of results in Letterkenny which now extends to only two victories in 16 games at O'Donnell Park.
For all of the first half, a home victory looked almost certain as Donegal led by four on three occasions which remained the advantage at half-time.
McGonagle sent off after 20 minutes
However by that stage, Donegal were already down to 14 men after McGonagle had received a second yellow card from referee Padraig Hughes in the 20th minute.
A Michael Langan free extended Donegal's advantage following the restart but Fermanagh soon took control as their ploy of pushing up on the home team's kickouts proved hugely effective.
Two points by dynamic wing-back Corrigan helped cut Donegal's lead to only two and while another Langan score briefly extended the advantage, the momentum was with Fermanagh.
That became even more pronounced as Donegal were then reduced to 13 men for a crucial 10-minute period after the 58th-minute black carding of Stephen McMenamin.
The resultant free from Sean Quigley left the minimum between the teams and further scores from substitute Paul McCusker and Corrigan put the Ernemen ahead by the 63rd minute.
Aidan Breen, one of Fermanagh's top performers, doubled their lead with a fisted point in the final minute of normal time and Ultan Kelm's stunning injury-time score after he ran the full length of the pitch sealed a victory which was celebrated heartily by Erne boss Rory Gallagher, who managed Donegal, prior to Declan Bonner's appointment.
Fermanagh's win moves them level with leaders Meath on six points as Donegal, promotion favourites at the start of the campaign, drop to fifth spot on four points.
Armagh up to fourth in table after win
Armagh's victory, which moves them ahead of Donegal on score difference, was never really in doubt against a Tipperary side who didn't manage a score from play until Liam McGrath scored their 10th point in the 55th minute.
With the Orchard men showing all the verve, they were already 0-6 to 0-2 ahead when Jamie Clarke's unselfish pass set up Vernon's 19th-minute goal.
As McGrath brought up his tally of first-half frees to five, Tipp cut Armagh's lead to 1-9 to 0-7 by the break.
However, any prospect of a Tipperary second-half comeback was ended as Rory Grugan and Paul Hughes added points after the restart.
Leading 1-12 to 0-8 with 20 minutes to go, Armagh played it safe thereafter by pulling a lot of men behind the ball to ensure that the goal that the opposition needed was not going to come.
SUNDAY'S ALLIANZ FOOTBALL LEAGUE RESULTS
SATURDAY'S FOOTBALL LEAGUE RESULTS