"Carol" opowiada historię zakazanej miłości i rozgrywa się w Nowym Jorku na początku lat 50. XX w. Dziewiętnastoletnia Teresa pracuje w luksusowym domu towarowym, marzy o pracy fotografki. Podczas gorączki świątecznych zakupów poznaje Carol – niezwykłą kobietę, uwięzioną w małżeństwie bez miłości, jednak pełną lęków i obaw związanych z porzuceniem dotychczasowego życia. To spotkanie odmieni ich życie na zawsze, jednak cena za chwile szczęścia będzie naprawdę wysoka.

Jest rok 1941. Do sennego sycylijskiego miasteczka przyjeżdża przepiękna kobieta, Malena. Przyjeżdża sama, bo mąż walczy na froncie. Każde publiczne pojawienie się Maleny zamienia się w spektakl. Wszędzie towarzyszą jej pożądliwe spojrzenia mężczyzn i złośliwe plotki ich zazdrosnych żon. Za Maleną podąża też armia kościstych wyrostków na rowerach. Jeden z nich, 13-latek Renato Amoroso, popada w prawdziwą obsesję na jej punkcie. Kiedy mąż Maleny ginie na froncie, pęka bariera tłumionych żądzy, zazdrości i gniewu.

Carol Henderson (Linda Blair) trafia do zakładu karnego na 18 miesięcy za nieumyślne spowodowanie śmierci. Okazuje się, że w więzieniu panuje korupcja, a więźniarki to pozbawione zasad moralnych sadystki podzielone na dwie grupy (białe i czarne). Kiedy dziewczyna zostaje zgwałcona przez bezwzględnego strażnika Lestera (Henry Silva), razem z koleżankami zaczyna planować ucieczkę.