The home side responded well to the early setback and they were back on level terms on the half-hour mark as Serey Die beat a couple of challenges to burst into the box before his drilled cross was tapped in by Daniel Didavi.
Harnik would be made to regret the miss before the break as Haris Seferovic timed his run perfectly to beat the offside trap before squaring the ball to give Luc Castaignos the simple task of slotting the ball in from a few yards out.
The save would prove to be a crucial moment in the match as Frankfurt were gifted the opportunity to extend their advantage when Przemyslaw Tyton charged off his line and brought down Castaignos.
Odisseas Vlachodimos was sent on for his Bundesliga debut to face the penalty, but he was unable to keep out Seferovic as the visitors moved further ahead.
There was still time for Frankfurt to make the victory even more emphatic late on as Castaignos cut inside before picking out the bottom corner to score his second of the afternoon.