Derry are on course for promotion from Division 2 after deservedly beating Longford 0-14 to 0-5 at Celtic Park.
The Oak Leafers led 0-5 to 0-2 at half-time and continued to dominate, scoring four points inside a four minute period around the hour mark.
Armagh suffered a last-gasp two-point loss to Louth at the Athletic Grounds.
Louth scored three points in injury time to snatch a dramatic victory and leave the Orchard county in danger of relegation from Division Two.
Brian White missed a penalty for Louth seven minutes from time but hit the equalising free in the first minute of stoppage time.
Ciaran Byrne and Shane Lennon tagged on points deep into injury-time for a precious away win for the wee county.
Both teams were reduced to 14 men in the second-half with James Donnelly and Gerard Hoey sent-off for second bookings.
Armagh actually finished with 13 men as James Lavery hobbled off with two minutes remaining, and they had used all five substitutes by then.
Armagh wasted a lot of chances early on and defender James Donnelly cracked a shot off the crossbar in the 13th minute.
Louth made Armagh pay for their wastefulness when Adrian Reid drilled home the opening goal after 23 minutes.
Armagh responded with a goal from Tony Kernan three minutes later as the sides went in level 1-5 apiece at the break.
After the break, Armagh, who were missing Jamie Clarke plus the injured Aaron Kernan and Ciaran McKeever, opened up a two point lead with points from Stefan Forker and Gavin McParland.
In keeping with the pattern of the game, Louth hit back with two points to level it up at 1-9 apiece after 53 minutes, but then White missed a penalty.
Enda Flynn scored the opening point of the match for Derry, but the home side were wasteful thereafter with six wides.
James Kielt added three points before the interval and Mark Lynch one while Eoin Bradley was introduced as a 24th-minute substitute.
Gerard O'Kane scored the opening point of the second half for Derry, who pulled clear late in the game thanks to scores from Daniel Haveron, Kielt, Bradley (3), Lynn and Raymond Wilkinson (2).
Armagh: Philip McEvoy; James Morgan, Brendan Donaghy, James Donnelly; Finnian Moriarty, Declan McKenna, Anto Duffy; James Lavery, Stephen Harold; Caolan Rafferty, Johnny Hanratty, Stefan Campbell; Tony Kernan, Stefan Forker, Gavin McParland.
Derry: Eoin McNicholl ; Gerard O'Kane, Chrissy McKaigue, Dermot McBride; Charlie Kielt, Mark Lynch (capt), Sean Leo McGoldrick; Patsy Bradley, PJ McCloskey; Aidan McAlynn, James Kielt, Enda Lynn; Daniel Heavron, Emmett McGuckin, Lee Kennedy. Subs: Thomas Mallon, Michael Bateson, Carlus McWilliams, Philip Bradley, Kevin Johnston, Michael Friel, Raymond Wilkinson, Eoin Bradley, Coilin Devlin, Benny Heron, Declan Mullan.
Saturday 16 March
Allianz National League Division One
Cork 0-12 0-10 Donegal
Dublin 1-14 0-18 Tyrone
Kerry 0-11 1-5 Down
Mayo 0-13 1-11 Kildare
Armagh 1-10 1-12 Louth
Derry 1-14 0-05 Longford
Laois 1-15 0-10 Galway
Antrim 1-06 0-11 Roscommon
Cavan 1-10 1-12 Fermanagh
Meath 1-17 2-12 Sligo
Monaghan 5-13 3-10 Wicklow
Leitrim 3-14 3-07 Waterford
Limerick 0-09 0-15 Tipperary
Offaly 2-11 1-11 Carlow
Cork 1-16 1-22 Clare
Dublin 1-15 1-21 Limerick
Wexford 2-21 1-12 Antrim
Derry 1-17 1-14 Kildare 1-14
Kerry 1-12 3-05 Wicklow
Mayo 4-16 3-12 Armagh
Down 2-24 1-12 Roscommon
Louth 2-13 0-11 Monaghan
Tyrone 0-15 2-11 Fingal
Fermanagh 1-19 4-15 Donegal