The 29-year-old Croatian failed to hold down a starting spot at Wolfsburg since his 2011 move from Kaiserslautern and also had a loan spell in 2012 at Hoffenheim.
Lakic has scored 16 goals in 68 Bundesliga games.
"We are happy to have finally sealed this deal," Frankfurt sports director Bruno Huebner said in a statement on Tuesday.
"We have now brought in a player who is very good with headers and fits perfectly with the playing style of our club and the demands of coach Armin Veh."
Frankfurt are in fourth place on 33 points after a superb first half of the season and in contention for a European spot.