Silva, 31 ans, a quitté Manchester City à la fin de la saison dernière, mettant fin à une période de neuf ans riche en trophées au stade Etihad.
Le Portugais a été fortement lié à un retour en Espagne, avec Barcelone et l'Atletico Madrid poursuivant également sa signature avant que le Real n'émerge comme le grand favori.
Il devient la deuxième signature de transfert gratuit du Real cet été, après le transfert du défenseur Marc Cucurella pour 52 millions de livres sterling en provenance de Chelsea.
Le Real n'a pas remporté de trophée la saison dernière, terminant à huit points derrière les champions de La Liga, Barcelone, et sortant de la Ligue des champions en quart de finale.
Silva quitte City en tant que l'un des joueurs les plus décorés de l'histoire du club, ayant remporté 19 titres majeurs au cours de ses neuf années à Manchester.
Il a effectué 460 apparitions pour City, marqué 76 buts et fourni 77 passes décisives, et a pris le capitanat la saison dernière après le départ de Kyle Walker.
Silva a conduit Manchester City à la victoire en Carabao Cup contre Arsenal et à la gloire en FA Cup contre Chelsea lors de sa dernière campagne au club, clôturant son passage sur une note positive malgré les difficultés plus larges de City.
Le Real Madrid a confirmé le transfert par un communiqué décrivant la durée de l'accord.
"Le Real Madrid CF et Bernardo Silva ont conclu un accord selon lequel il sera un joueur du Real Madrid pour les deux prochaines saisons, jusqu'au 30 juin 2028."
Silva est actuellement avec le Portugal à la Coupe du Monde et devrait jouer un rôle significatif pour son pays alors qu'ils poursuivent leur campagne dans le tournoi.
Il a participé aux deux matchs amicaux de préparation du Portugal en juin avant de partir pour les finales, et devrait rejoindre ses nouveaux coéquipiers du Real Madrid pour l'entraînement de pré-saison une fois la Coupe du Monde terminée.
Le Real Madrid serait en train de cibler Denzel Dumfries de l'Inter Milan, tandis que le défenseur français Ibrahima Konate devrait rejoindre le club après l'expiration de son contrat avec Liverpool.
Antonio Rudiger a signé cette semaine une prolongation de contrat avec le Real jusqu'en 2027, ajoutant une stabilité supplémentaire à la défense de Mourinho alors qu'il reconstruit l'équipe après une campagne sans trophée.
