Nova York, início da década de 1950. Therese Belivet (Rooney Mara) está trabalhando em uma loja de departamento de Manhattan e sonhando com uma vida mais gratificante quando conhece Carol Aird (Cate Blanchett), uma mulher sedutora presa em um casamento fracassado. Já no primeiro encontro ambas sentem uma atração imediata e ardente, seguida de um sentimento mais profundo. Quando o envolvimento de Carol com Therese vem à tona, o marido de Carol a afronta, desafiando sua competência como uma mãe. Carol e Therese se refugiam na estrada, deixando para trás suas respectivas vidas, e logo se vêem encurraladas entre as convenções e a atração mútua.