The former Bayern and Napoli playmaker joins the Rossoneri for a fee of €7.5m, and has signed a contract that keeps him tied to the club until June 2018.
An official statement from the club read: "Agreement reached with Besiktas: José Ernesto Sosa is a new AC Milan player.
"For its midfield, AC Milan was looking for an experienced, professional player with the will to do well. The club has found in you these three components and has decided to sign a contract with you until 30th June 2018.
"Best of luck with us, José!"
— AC Milan (@acmilan) August 17, 2016
Sosa comes off an impressive 2015/16 season for the Turkish club, having scored seven goals and provided 12 assists.