Niall Loughlin top scored for Derry at Owenbeg with four points, but it was goals from Aidy McLaughlin, Emmett McGuckin and impact sub Enda Lynn which ultimately brought the hosts their first victory over Armagh in three meetings.
Kieran McGeeney's visitors continued their fine O Fiaich Cup winning form in the early stages and were well worth their 1-2 to 0-1 lead after 24 quiet minutes, Anto Duffy hitting their goal.
But Damian Barton's side battled back and when McLaughlin rattled the back of the net in the 34th minute it handed Derry the advantage at the break, leading by 1-5 to 1-3.
Armagh regained the lead through points from John McGill, Ciaran McKeever and impressive debutant Ben Crealy.
McGuckin's penalty in the 43rd minute quickly followed by Lynn's bullet of a goal then saw Derry grab the game by the scruff of the neck to lead by six points mid-way through the second half.
But once again Armagh fought back with Crealy adding two further points and veteran Ciaran McKeever scoring a scintillating 70th-minute goal to leave just a kick of the ball between the sides.
And with the game in the balance, the experienced Mark Lynch was brought on to guide the Oak Leafers to victory.
Scorers - Derry: N Loughlin 0-4 (3fs), A McLaughlin, E McGuckin 1-1, E Lynn 1-0, R Bell 0-2, M Warnock, P Kearney 0-1 each. Armagh: C McKeever 1-1, A Duffy 1-0, O Mac Iomhair 0-3 (1f), B Crealy 0-3, N Rowland, J McGill, E Rafferty 0-1 each.
Derry - B McKinless; O Hegarty, O Duffin, P Hagan, P Coney, J Doherty, N Forester, G O'Neill, A McLaughlin, M Warnock, N Loughlin, C McWilliams, R Bell, E McGuckin, B Heron. Subs: E Lynn for G O'Neill (45), C Nevin for A McLaughlin (47), R Murphy for E McGuckin (55), P Kearney for P Coney (55), C McGrogan for M Warnock (66), M Lynch for J Doherty (70)
Armagh - M McNeice; O Lappin, C Vernon, J McGill, S McCoy, N Rowland, C Higgins, S Sheridan, A Findon, A Forker, N McConville, R Grugan, A Duffy, C McKever, O Mac Iomhair. Subs: C White for N McConville (h-t), B Crealy for S McCoy (h-t), J Hall for N Rowland (54), E Rafferty for A Findon (58)
Ref - N Cullen (Fermanagh)