Fourteen-man Armagh finished strongly to grind out a 1-12 to 1-7 win over Westmeath in Saturday’s Round 2B qualifier at Mullingar.
An injury-time Ethan Rafferty goal and two late points from Oisin O’Neill saw the Orchard County progress despite the dismissal of substitute Gregory McCabe.
Armagh’s Jamie Clarke and James Morgan received first-half black cards but were level at 0-7 to 1-4 at the break.
Paul Sharry netted, while Westmeath had two players black-carded late on.
Armagh will join Monaghan, Carlow and Tipperary in Monday morning’s draw for round 3B of the qualifiers after winning back-to-back championship games for the first time in manager Kieran McGeeney’s three-year reign.
The counties were meeting for the first time in the championship, with Armagh bidding to reach the third qualifying round for the first time since 2014.
McGeeney has now won three of his nine matches in charge of his native county at championship level but the Ulster county endured a difficult start as Clarke was shown a black card after just 15 seconds.
Armagh trailed by a couple of points in the early stages but substitute Stefan Campbell, Gavin McParland and Niall Grimley pointed, before Crossmaglen’s Morgan became the second player from his team to be black-carded as the scores levelled at 0-3 apiece.
Defender Morgan had been recalled to the starting line-up after missing the round one win over Fermanagh with a calf injury.
Four unanswered points from McParland, Rory Grugan (2) and Stephen Sherdidan put four points between the sides and Westmeath’s troubles were exacerbated by the loss of captain and midfielder Ger Egan through injury.
Sharry’s goal helped the home side draw level and they moved two points ahead on the resumption, then Grugan and Aidan Forker scores restored parity once again.
Points were at a premium in the second half but O’Neill’s double salvo and Rafferty’s goal ensured Armagh’s progress.