Edith (Mia Wasikowska) falls in love with a baronet, Thomas (Tom Hiddleston), who has come to New York to convince Edith’s father to fund an invention he is working on. Although the financing appeal is rejected, Thomas and Edith marry and she moves into his large estate in London with his cold sister, Lucille (Jessica Chastain).
Having seen ghosts all her life, including her dead mother who warned her to beware of Crimson Peak, Edith starts to see more ghosts in the house.
She discovers that Thomas has been married three times, always to the daughters of the investors who rejected his pitch. By poisoning them, Lucille was able to slowly kill each of the women after they sign paperwork granting Thomas a portion of their estate upon their deaths.
It is revealed that Lucille and Thomas are in love with each other, despite being brother and sister. When Lucille realizes Thomas has fallen in love with Edith, she kills him in a jealous rage. Then, while attempting to kill Edith, Lucille is distracted by the ghost of Thomas, allowing Edith a chance to deal a fatal blow.
Edith escapes the house with another suitor, Alan (Charlie Hunnam), who has arrived to rescue Edith after realizing that Lucille was behind the murder of Edith’s father.