Зинаида родилась 20 февраля 1926 года в семье ленинградского рабочего. Летом 1941 года её отправили к бабушке в деревню под Витебском, где её и настигло вторжение немецкой армии. 15-летняя Портнова не смогла добраться до родителей и попала в оккупацию. 

Согласно советской историографии, с 1942 года Портнова участвовала в распространении листовок среди населения. Однажды по заданию от «Юных мстителей» пионерка отравила суп в офицерской столовой. Тогда погибло более сотни солдат противника. Немцы вычислили, кто был на кухне в тот день, и заставили Зину съесть тот же суп. 

После трапезы молодая партизанка не помнила, как добралась до бабушкиного дома, где её отпаивали травяными отварами и молочной сывороткой. В результате девушка осталась жива.

В декабре 1943 года, возвращаясь с очередного задания от «Юных мстителей», Портнова была схвачена немцами в деревне Мостище и опознана некой Анной Храповицкой. 

На одном из допросов в гестапо, схватив со стола пистолет следователя, девушка застрелила его и ещё двух гитлеровцев, пыталась бежать, но была схвачена. После этого её пытали больше месяца. Не добившись ничего, утром 10 января 1944 года её расстреляли в тюрьме города Полоцк.

Указом Президиума Верховного Совета СССР от 1 июля 1958 года Зинаиде Мартыновне Портновой было присвоено звание Героя Советского Союза (посмертно) с награждением орденом Ленина.