A group of 600 youths had gathered on Saturday evening at the popular shopping street Zeil which they began running through “without any consideration for pedestrians”, police said in a statement.
Police therefore issued the flashmob organiser with a dispersal notice, but an officer was then suddenly punched in the face by a 17-year-old youth.
As officers detained the teen, some among the crowd began throwing stones at police.
Three officers were hit, with one suffering light injuries. The other two were unscathed.
The gathering was finally cleared two hours after it began.
Investigations were now ongoing on the background of the flashmob, police said.
Authorities were also examining if organisers could be liable to take on the costs of the ensuing police operation.
The flashmob chaos in Frankfurt came just days after a mass brawl in central Berlin between followers of two social media stars.
Nine arrests were made as a fight broke out on the Alexanderplatz late Thursday among 400 backers of two rival YouTubers.
Police said it took around 100 officers, two of whom were injured, to break up the melee.