The visitors were on top from the first whistle and regularly sliced open the Frankfurt defence, with Genki Haraguchi missing a good opportunity by miscuing a shot over the crossbar after collecting a loose ball in the box.
A pattern soon emerged as Hertha searched for a breakthrough, but a cutting edge was missing throughout the first half as Vedad Ibisevic turned Haraguchi's inviting cross wide at the back post.
After soaking up the pressure before the break, it was Frankfurt who took a surprise lead less than two minutes into the second half when a corner eventually reached Timm Golley, who kept his composure in a congested box to fire home the opener.
The equaliser was followed by long spells of dominance from the away side, but they wasted a great chance when Sebastian Langkamp miscued an effort in the six-yard box after being found by Marvin Plattenhardt.
Extra time was needed as Frankfurt fought to hold off Hertha, but an opportunity to clinch the win was gifted to the visitors in the first period when Fanol Perdedaj brought down Kalou.
It was the Ivorian who stepped up from 12 yards and he calmly fired home to double his tally for the evening.
Frankfurt committed more men forward after the short interval and they were helped as Plattenhardt picked up two yellow cards in the space of eight minutes, but the late dismissal made no difference as Hertha secured their progress.