Colm James gave Longford the lead after only 11 minutes and while Mark Walsh will be disappointed that he didn’t take his chance to clear the ball before being neatly robbed by Gary Shaw, James’ first time finish from the edge of the penalty area was sublime.
Mark Sherlock and Noel McGee were a constant threat to Longford and McGee laid on the equaliser for Sherlock after 56 minutes, dinking the ball over the defence for Sherlock to lob Craig Hyland.
However, four minutes later Athlone failed to clear a Keith Gillespie corner and Haverty nipped in to poke it home from five yards.
Athlone looked for a penalty late on when Sherlock went down but referee Phil Caschera gave Sherlock a second yellow card, followed by a red, for what he felt was a dive.
ATHLONE TOWN: P Jennings; N Scullion, B McCarthy, P Danaher, M Walsh; D Coleman (W Conroy), J Hughes (I Sweeney); G Broughall, B Gill (S Relihan), M Sherlock; N McGee.
LONGFORD TOWN: C Hyland; N Haverty, D Hope, C Deans, T Crawley; C James, M Salmon, K Gillespie, A Kirby (J Duffy); G Shaw, K Bermingham (D Purdy).
Referee: Phil Caschera.