Le latéral gauche de 24 ans "a signé un contrat jusqu'au 30 juin 2025 et portera le numéro 5", indique le club rossonero.
Arrivé à Monaco en janvier 2019 en provenance de Lille pour 12 millions d'euros, Ballo-Touré était sous contrat avec l'ASM jusqu'en juin 2023.
Avec le club de la Principauté, il a disputé 74 rencontres officielles, dont 63 en Ligue 1.
Le montant du transfert est évalué à 5 millions d'euros, selon différentes sources proches du dossier.
A Monaco, son départ a été compensé par l'arrivée la semaine dernière de l'international U21 allemand, Ismail Jakobs, pour un montant de 6,5 millions d'euros.