Хуан происходил из знатной, но обедневшей дворянской семьи, жившей в окрестностях Авилы. Юношей поступил он в госпиталь, для ухода за больными. Образование он получал в иезуитской школе в городке Медина дель Кампо, куда перебралась его семья после смерти отца в поисках средств к существованию.
В 1568 г. вступил в орден кармелитов, получал богословское образование в Саламанке. Затем он стал одним из основателей реформированного кармелитского монастыря Дуруэло. В монашестве он принял имя Иоанн Креста.
В ордене кармелитов в это время шли распри, связанные с реформами ордена, инициированными св. Терезой Авильской. Иоанн стал сторонником реформ, имевших целью возврат к первоначальным идеалам кармелитов — строгости и аскетичности.
Деятельность Иоанна многим в монастыре пришлась не по вкусу, по клеветническим доносам он трижды привлекался к суду, много месяцев провёл в тюрьме в тяжёлых условиях. Именно во время заключения Иоанн начал писать свои прекрасные стихи, проникнутые особым мистическим духом и религиозным трепетом. Его перу также принадлежат прозаические трактаты — «Восхождение на гору Кармель», «Тёмная ночь души», «Песнь духа», «Живое пламя любви».
Скончался св. Иоанн Креста в Убеде, в 1591 г. В 1726 г. он был канонизирован папой Бенедиктом XIII, в 1926 г. папа Пий XI объявил его Учителем Церкви. День памяти св. Иоанна Креста в Католической Церкви — 14 декабря.
Фундаментальный принцип богословия св. Иоанна состоит в утверждении, что Бог есть все, а человек — ничто. Следовательно, чтобы достичь совершенного соединения с Богом, в чем и состоит святость, необходимо подвергнуть интенсивному и глубокому очищению все способности и силы души и тела.
Произведениями св. Иоанна Креста интересовались русские символисты, в частности, Д. С. Мережковский, написавший книгу о нём. Стихотворения св. Иоанна переводили на русский язык Анатолий Гелескул, Борис Дубин.
Основываясь на экстатических видениях святого, Сальвадор Дали нарисовал в 1950—1952 гг. картину «Христос Святого Иоанна Креста»
Тело было эксгумировано в 1859 г. и найдено нетленным.