La acción comienza en el marco de la guerra entre cristianos y musulmanes en la frontera andaluza, con especial referencia a Granada, Morón y el castillo de Chincoya. El rey moro de Granada oye la disputa entre tres caballeros musulmanes, Zoraide, Rosarfe y Cardiloro, todos enamorados de Guadalara, dama granadina de alta condición. Como los tres han llegado a sacar las armas por ella incluso en el Alhambra, el rey decide convertir el conflicto amoroso en empresa militar: promete a Guadalara a quien logre prender o matar al cristiano Meledón Rodríguez Gallinato, famoso alcaide fronterizo temido por los moros. Mientras tanto, en el campo cristiano, Fernando III y la reina Juana reciben noticias de las conquistas en Andalucía y del valor extraordinario de Meledón, a quien el rey honra con dinero y una espada. En Chincoya, Meledón recibe a su tío don Lorenzo y muestra su rudeza militar y su energía fronteriza. Poco después llegan a su castillo los tres pretendientes moros con intención de desafiarlo; cuando van a combatir, se sabe que don Lorenzo ha sido preso por los moros. Meledón decide entonces acompañar a Cardiloro a Granada fingiendo ser su cautivo, tras haber matado en combate a Rosarfe y a Zoraide, con la esperanza de rescatar allí a su tío.
En Granada, Cardiloro presenta a Meledón como prisionero victoriosamente capturado y recibe por ello a Guadalara. Sin embargo, la propia Guadalara, impresionada por la fama y la presencia del cristiano, empieza a sentirse atraída por él. La aparente cautividad de Meledón forma parte de un acuerdo secreto con Cardiloro, que ha quedado admirado por su valor y ha aceptado ayudarle a liberar a don Lorenzo. En paralelo, se desarrolla un episodio decisivo de fuerte contenido religioso: Meledón, preso en casa de un moro, mata de una puñada a Zarabo cuando este pretende quemar una imagen de la Virgen María. Por ello él y su tío son condenados, pero Cardiloro los libra y facilita su huida. Mientras tanto, en el campo cristiano se difunde falsamente que Meledón y don Lorenzo se han pasado al islam, calumnia promovida por Tello; Fernando nombra a este nuevo alcaide de Chincoya, aunque pronto la versión queda en duda. Cardiloro y don Lorenzo, aún disfrazado, llegan ante el rey cristiano para desmentir la traición, y Tello muere a manos de Meledón. De regreso a Chincoya, el héroe recupera su puesto; además, dos de sus esclavos moros, Zulema y Fátima, se convierten al cristianismo por influencia de la imagen mariana que él había salvado, hecho que refuerza la dimensión providencial de la trama.
En la tercera jornada, el conflicto se centra en la quiebra de la amistad entre Cardiloro y Meledón. Guadalara, enamorada ya del cristiano, se disfraza y acude a Chincoya para ofrecerse a él; Meledón la rechaza por lealtad a Cardiloro y por defensa de su honra. Sin embargo, ella vuelve con Cardiloro y, movida por despecho o deseo de apartarlo de su rival, le hace creer falsamente que Meledón quiso forzarla. Indignado, Cardiloro decide vengarse, se acerca fingiendo amistad al castillo y, con ayuda del rey moro, consigue prender por engaño a Meledón cuando este ha dejado a un lado la espada para hablar confiadamente con él. Ya ante el castillo, pretende obligar a los defensores a rendirse bajo amenaza de matar al alcaide, pero los soldados se niegan a entregar la fortaleza aunque su señor muera. Entonces Cardiloro y Meledón aclaran la verdad: Guadalara confiesa de hecho su engaño al no poder sostenerlo, Cardiloro reconoce su error, desata al cristiano y lo ayuda a refugiarse de nuevo en Chincoya. El rey de Granada ordena el asalto general al castillo, defendido apenas por una pequeña guarnición. Meledón encomienda la defensa a la Virgen que había rescatado y sube al muro con la imagen. En el momento extremo se produce un milagro: los moros ven a María como «divina vencedora», acompañada por visiones celestiales, y huyen aterrados. Cardiloro, Aliatar, Zulema y Fátima reconocen el prodigio y prometen hacerse cristianos, con lo que la obra concluye presentando la victoria militar y espiritual de la Virgen en Chincoya.