Silva joined Frankfurt on a two-season loan deal before the start of the 2019/2020 season and made 37 appearances in all competitions, scoring 16 goals.
The 24-year-old Portuguese international has now agreed a three-year deal with Frankfurt and will remain in Germany.
Silva first moved to AC Milan from FC Porto for €38m in the summer of 2017 but he failed to find his feet in Italy and was sent out on loan to Sevilla in La Liga before joining Frankfurt.
A statement from the Rossoneri announcing Silva’s departure read: “AC Milan announces the transfer of the player Andre Miguel Valente da Silva to Eintracht Frankfurt on a permanent deal.”
“The Club wishes him all the best in his future endeavours and thanks him for his professionalism.”
Frankfurt’s sporting director Fredi Bobic expressed delight at the permanent capture of Silva.
"Over the last few months we've seen what Andre's capable of," he said via the club's website.
"It was no accident that he was the second-best striker in the Bundesliga after the restart. He's a young and flexible attacker and, at 24, he's still got potential to improve.
"We're confident we can take him to another level here in Frankfurt and we're delighted to have tied a superb striker to the club until summer 2023."