Nacque a Fontiveros vicino ad Avila, un borgo della Vecchia Castiglia spagnola, nel 1542. Il padre Gonzalo de Yepes fu cacciato di casa e diseredato per aver sposato una povera tessitrice di seta, Catalina Álvarez. Orfano di padre già in tenera età, si trovò a doversi spostare di città in città con la laboriosa e attiva madre per il loro sostentamento economico, dovendo quindi studiare e lavorare in luoghi sempre diversi.
Nel periodo tra il 1551 e il 1559 ebbe una formazione culturale ed artigiana nel "Colegio de los doctrinos" di Medina del Campo (oggi nella provincia di Valladolid), dove si era trasferito con la madre. Successivamente fu falegname, sarto, pittore e intagliatore; quindi accolito della Chiesa della Maddalena, commesso e aiutante infermiere nell'Ospedale della Concezione. Nel 1563 entrò nell'Ordine Carmelitano. Tra il 1564 e il 1568 completò gli studi teologici e filosofici all'Università di Salamanca, e nel 1567 fu ordinato sacerdote.
Nell’ottobre 1567, incontrò Teresa d'Avila che stava attuando una riforma del Carmelo. Il 9 agosto 1568, dopo numerosi colloqui con Teresa d'Ávila, partì per Valladolid dove Teresa doveva fondare un monastero di Carmelitane Scalze. Qui rimase fino ad ottobre, informandosi dettagliatamente sulla nuova vita riformata. Dopodiché, andò a Duruelo (Segovia), dove adattò un cascinale a primo convento di Carmelitani Scalzi; il 28 novembre, prima domenica d'Avvento, vi inaugurò la vita riformata; in tale occasione assunse il nome di Giovanni della Croce.
Tra il 1572 e il 1577 svolse attività di guida spirituale nel monastero dell'Incarnazione di Ávila. Il 2 dicembre 1577, nella prigione del convento dei Carmelitani Calzati di Toledo. Rimase rinchiuso per più di otto mesi, sottoposto a maltrattamenti fisici, psicologici e spirituali, trovando peraltro l'ispirazione per comporre alcuni dei suoi poemi mistici più noti. Riuscì a fuggire il 17 agosto 1578.
Nel 1591 fu dimesso dagli incarichi direttivi nell'ordine e ammalato, il 28 settembre, si recò ad Úbeda (Jaén), dove trascorse gli ultimi mesi di vita. Qui morì nella notte tra il venerdì 13 e il sabato 14 dicembre 1591 all'età di 49 anni. Dal 1593 i suoi resti incorrotti riposano a Segovia.
La cerimonia della beatificazione si tenne nel 1675. La solenne cerimonia della canonizzazione il 27 dicembre 1726. Nel 1926 gli venne conferito il titolo di "Dottore della Chiesa".