Fille d’Alphonse VI, roi de Castille [1] et de la reine Isabelle. Cette dernière était en fait une reine mauresque du nom de Zaida de Séville , qui avait épousé en premières noces Abu Nasir al Fatah al Mamun fils d’ Al Mutamid ibn Abbad , émir de Séville [2]. Alphonse en avait fait sa maîtresse, laquelle avait donné naissance à trois enfants avant de l’épouser en mars 1106.
En 1117, son père la marie à Roger II comte de Sicile. On ne sait pour quelle raison Alphonse lui choisit cet époux, mais il est fort possible pour Roger que l’ascendance musulmane d’Elvire était précieuse à Roger pour se concilier la population islamique de Sicile et favoriser le développement de la maison de Hauteville [3] dans l’île.
Le 27 septembre 1130, le pape Anaclet II accorde la couronne royale à Roger qui est couronné avec son épouse le jour de Noël 1130.
La reine meurt le 6 février 1135.