Heivehdys Purppuraa seuraa Celie Johnsonin kovaa elämää 1900-luvulla. Noin 17-vuotias Celie synnyttää jo toisen lapsen omalle isälleen. Isä vie lapsen pois ja kieltää häntä puhumasta siitä. Kun paikallinen maanviljelijä, "herra", kosii Celien nuorempaa ja kauniimpaa siskoa Nettietä, isä antaakin tälle Celien. Herra kohtelee Celietä kaltoin, kunnes Nettie haluaa muuttaa heidän luokseen paetakseen isänsä ahdistelua. Kun Nettie torjuu herran lähentelyt, tämä lähettää hänet pois, ja Celie on entistä onnettomampi. Nettie lupaa kirjoittaa, mutta Celie ei saa kirjeitä. Sitten herran rakastajatar Shug Avery ystävystyy Celien kanssa ja auttaa häntä tajuamaan, että hän ei ole herran palvelija. Lopulta Celie jättää herran ja lupaa tälle epäonnea, kunnes tämä toimii oikein. Katumuspäällä herra auttaa Nettietä palaamaan Yhdysvaltoihin Afrikasta, missä tämä on asunut lähetyssaarnaajien luona Celien kahden lapsen kanssa. Ainutlaatuinen elokuva saa sydämellisen lopun, kun Celie tapaa taas rakkaansa.