The 23-year-old was simply too hot to handle, notching in each half to condemn eleventh-place Mainz, who pulled a goal back through Eric Maxim Choupo-Moting and had substitute goalkeeper Christian Wetklo sent off, to their sixth defeat of the campaign.
Ebb and flow
There was no questioning Augsburg's commitment to the winning cause in the early exchanges, with Hahn scooping over from close range in the seventh minute. The Bavarians had not won since Matchday 5, but they were giving it their all to arrest that sorry slump as Sascha Mölders saw a vicious effort charged down.
In terms of possession, Augsburg were in control, but Mainz were not without chances of their own - particularly on the counter. Japan international Shinji Okazaki shook off the attentions of three Mainz defenders and forced a smart save from Marwin Hitz, before the unmarked Sebastian Polter wasted a golden opportunity to break the deadlock, firing straight at the goalkeeper.
Hahn on fire
Augsburg ensured it was a case of third time lucky four minutes later when Daniel Baier's raking pass evaded Mainz’s static back four and found Hahn, who kept his composure under pressure from a ruck of swarming red shirts to sink his third goal of the season. The hosts could have extended their lead before the half was up, but neither Tobias Werner nor Mölders could hit the target.
Markus Weinzierl's side had never lost a home game in which they had boasted a lead at half-time and there was no reason to believe that feat would change against the Karnivalverein as Hahn bent a wicked effort into the net after 49 minutes, despite being forced away from goal by Wetklo. Mainz responded through Nikolce Noveski, whose fierce volley was beaten away by Hitz, before Altintop broke clear at the other end, only to see his audacious chip come back off the crossbar.
A potential three-goal lead was reduced to one just shy of the hour-mark when substitute Choupo-Moting sent Hitz the wrong way from the penalty spot following a foul on Polter by Jan-Ingwer Callsen-Bracker. Reinvigorated, Mainz turned the screw, with the referee blowing his whistle for an earlier infringement to deny Park Joo-Ho his first Bundesliga goal.
A moment of madness from Wetklo ended any lingering hopes Mainz had of turning the tide, the substitute goalkeeper seeing red after bringing down Arkadiusz Milik on the edge of the area. Stand-in goalkeeper Polter gave the visiting fans something to cheer with a stunning save from Baier's ensuing free kick and, though Hahn passed up the opportunity to complete his hat-trick, it was enough for Augsburg to put an end to a three-game losing streak.
Line-ups and statistics
Try as he might, Mainz's Okazaki couldn't recreate this match-winning display from Matchday 10. Check it out for yourselves, courtesy of the official Bundesliga YouTube channel: