Родилась 13 сентября 1923 г. в с. Осиновые Гаи (Кирсановский уезд Тамбовской губернии, ныне - с. Осино-Гай Гавриловского района Тамбовской области) в семье Анатолия Петровича (1900-1933) и Любови Тимофеевны (1900-1978) Космодемьянских. Отец был заведующим библиотекой, мать работала учительницей. Дед по отцовской линии - Петр Козьмодемьянский - был священником Знаменской церкви с. Осиновые Гаи, был убит большевиками 27 августа 1918 г. Брат - Александр Космодемьянский (1925-1945) - старший лейтенант Красной армии, Герой Советского Союза.
С 1930 г. Зоя Космодемьянская жила и училась в Москве, в октябре 1938 г. вступила в ВЛКСМ.
В сентябре 1941 г. Космодемьянская пошла в десятый класс столичной школы №201, однако учебе помешала Великая Отечественная война.
В конце октября 1941 г. Зоя добровольно записалась в подразделение, сформированное из комсомольцев Москвы для проведения диверсий в тылу врага . 4 ноября после кратковременного обучения в войсковой части, располагавшейся в Кунцеве, в составе разведывательно-диверсионной группы была переброшена в район Волоколамска.
Первое задание - минирование дороги в тылу противника - было выполнено успешно, Зоя и ее товарищи без потерь возвратились в часть.
17 ноября 1941 г. был издан приказ Ставки Верховного Главнокомандования №428 "О создании специальных команд по разрушению и сжиганию населенных пунктов в тылу немецко-фашистских войск".
18 (по другим данным - 20) ноября две партизанские группы (в состав одной из них входила Космодемьянская) получили задание в течение 5-7 дней заниматься диверсионной деятельностью в 10 населенных пунктах, в т. ч. в деревне Петрищево (Верейский район; ныне - Рузский район Московской области). Отправившись на его выполнение вместе, обе группы попали под обстрел в 10 км от Петрищева, понесли потери и частично рассеялись. Остатки групп воссоединились под командованием Бориса Крайнова. Ночью 27 ноября Зоя Космодемьянская, Борис Крайнов и Василий Клубков подожгли в Петрищеве три дома, в результате чего у немцев погибли 20 лошадей. После этого Крайнов, не дождавшись Космодемьянской и Клубкова в условленном месте встречи, вернулся к своим. Клубков был схвачен немцами. Зоя, разминувшись с товарищами, вновь направилась в Петрищево, чтобы продолжить выполнение задания.
28 ноября она была схвачена немцами, после чего подвергнута допросу и истязаниям. Несмотря на жестокие пытки, не выдала товарищей и не открыла своего настоящего имени, назвавшись Таней.
29 ноября на перекрестке дорог в центре Петрищева в присутствии местных жителей Зоя Космодемьянская была казнена через повешение. Фотосъемку расправы вел один из немецких солдат. По словам очевидца, перед казнью Зоя произнесла: "Товарищи, победа будет за нами. Немецкие солдаты, пока не поздно, сдавайтесь в плен", "Советский Союз непобедим и не будет побежден", "Сколько нас не вешайте, всех не перевешаете, нас 170 миллионов. Но за меня вам наши товарищи отомстят".
Тело партизанки был захоронено на окраине села лишь 1 января 1942 г.
14 января 1942 г. Петрищево было освобождено частями Красной армии. После этого в селе побывал военный корреспондент Петр Лидов, которому местные жители рассказали о подвиге партизанки. Эти сведения послужили основой для созданного Лидовым очерка "Таня", который был опубликован 27 января 1942 г. в газете "Правда". Вечером того же дня его текст зачитали по Всесоюзному радио.
16 февраля 1942 г. Зое Космодемьянской было посмертно присвоено звание Героя Советского Союза. Также она была посмертно награждена орденом Ленина.
18 февраля 1942 г. в статье "Кто была Таня" Петр Лидов назвал настоящее имя погибшей, установленное Московским комитетом комсомола, и привел ее биографические данные.
7 мая 1942 г. Зоя Космодемьянская была перезахоронена на Новодевичьем кладбище Москвы. На месте ее первоначального захоронения в деревне Петрищево была установлена мемориальная плита.