Gekas opened the scoring in the 26th minute with Pirmin Schwegler adding another after 38 minutes.
Gekas then struck again from the penalty spot in the 55th minute for his 12th goal in 10 games in all competitions, before Ashkan Dejagah grabbed a consolation for Wolfsburg 11 minutes later.
Frankfurt extended their unbeaten run to six games to climb up to third place on 19 points.
Wolfsburg, however, have collected just one win in their last five games and remain on 13 points for 12th place.
Despite there being three of the leading goalscorers in the league on the pitch, neither team could create a decent chance in the early stages.
Frankfurt finally threatened after 23 minutes when Gekas headed just over the crossbar.
And the Greek scoring machine made the breakthrough three minutes later, blasting a low shot from a yard outside the area in at the far left post.
Wolfsburg nearly equalised in the 35th minute but Frankfurt keeper Oka Nikolov deflected Diego's shot off the right post for a corner.
And Frankfurt doubled their advantage three minutes later with a long distance shot by Schwegler, who hammered home from over 30 yards with the help of a deflection off the far left post.
The hosts pushed the lead to 3-0 10 minutes after the break from the spot. Simon Kjaer brought down Maik Franz in the area and Gekas took the responsibility, blasting into the bottom left corner past Wolfsburg keeper Diego Benaglio.
The visitors pulled a goal back in the 66th minute on a counter attack with Dejagah volleying home Marcel Schafer's cross from the left side, but the damage had already been done.