Michael Skibbe's troops dominated in the early exchanges and took a well-earned lead midway through the first half when Liberopoulos nodded home a Markus Steinhöfer corner. It was all too easy for the home side with the Hannover defence at sixes and sevens.
The hosts continued to control the majority of the play without adding to their lead before the interval, by which time the visitors had done little to suggest they could come back into the game having created minimal chances in front of goal.
Deserved victory
Nonetheless, Hannover took advantage of the slender margin as the game entered its final quarter when Jan Rosenthal was threaded into the box, his ball across being missed by Dider Konan Ya before Czech striker Jiri Stajner arrived unnoticed to thump home the equaliser.
Stunned, Frankfurt threw on Amanatidis in the hope of restoring their lead and his presence must have had an impact because just a few minutes later, Alexander Meier stabbed home a loose ball after a Liberopoulos header to the home side on course for a deserved three points.
Unable to make absolutely sure of the victory, Frankfurt were made to sweat in the game's final stages but ultimately held out for their first win in three and one which keeps them comfortable in mid-table. Hannover, meanwhile, will be aiming to find some consistency after just one win, two draws and two defeats in their last five.
Frankfurt: Nikolov - P. Ochs, Franz, Chris, Spycher - Bajramovic - Steinhöfer (Jung 90+2'), A. Meier, Caio (Köhler 88') - Fenin (Amanatidis 69'), Liberopoulos
Hannover: Fromlowitz - Cherundolo, Haggui, C. Schulz, Djakpa (Krzynowek 81') - Balitsch - Sofian Chahed (S. Pinto 57'), Rosenthal - Bruggink - Stajner, Ya Konan (Ernst 85')
Goals: 1-0 Liberopoulos (24'), 1-1 Stajner (68'), 2-1 A. Meier (74')
Attendance: 40000 (Commerzbank Arena)