Freiburg were compact and resolute in the first half, but changed the complexion of the match early in the second half when Max Kruse reacted quickest to tap home a rebound and give the away side an unlikely lead.
The match officials were kept busy as goals at either end were ruled out around the hour mark for offside.
Frankfurt rallied and produced a stunning equaliser on 67 minutes as Meier received the ball from Bastian Oczipka and unleashed an unstoppable volley into the top left-hand corner.
Oczipka and Meier combined again to complete the comeback just six minutes later when he turned home a brilliant corner to but Frankfurt ahead.
The away side grew frustrated late in the match and had Karim Guede sent off in stoppage time for a dangerous late lunge.
A crucial victory means Frankfurt are still unbeaten after six Bundesliga matches, with the win moving the promoted side behind Bayern Munich into second place in the league table.