El infante Juan de Castilla contrajo matrimonio por segunda vez, el día 10 de enero de 1287, con María Díaz de Haro, hija de Lope Díaz III de Haro, señor de Vizcaya, y de Juana Alfonso de Molina, hermana de la reina María de Molina. Fruto de este matrimonio nacieron tres hijos:
Juan el Tuerto (¿?-1326). Heredó las posesiones de sus padres y contrajo matrimonio con Isabel de Portugal y Manuel, hija del infante Alfonso de Portugal, y nieta del rey Alfonso III de Portugal. Fue asesinado en Toro en 1326 por orden de Alfonso XI de Castilla.
Lope Díaz de Haro (¿?-d.1295); fallecido durante su juventud.
María Díaz de Haro (¿?-a.1299). Contrajo matrimonio con Juan Núñez II de Lara, señor de la Casa de Lara. Falleció sin dejar descendencia.