Hijo primogénito de Fernando III el Santo y de Beatriz de Suabia (hija de Felipe, rey de Alemania, y nieta del emperador Federico I Barbarroja), Alfonso nació en la ciudad de Toledo el 23 de noviembre de 1221, día de la festividad de san Clemente.