The deranged Dr. Caligari (Werner Krauss) and his faithful sleepwalking Cesare (Conrad Veidt) are connected to a series of murders in a German mountain village, Holstenwall. Caligari introduces the main narrative using aframe story in which most of the plot is presented as a flashback, as told by Francis (one of the earliest examples of a frame story in film). The narrator, Francis (Friedrich Fehér), and his friend Alan (Hans Heinrich von Twardowski) visit a carnival in the village where they see Dr. Caligari and the somnambulist Cesare, whom the doctor is displaying as an attraction. Caligari hawks that Cesare can answer any question he is asked.When Alan asks Cesare how long he has to live, Cesare tells Alan that he will die before dawn tomorrow - a prophecy which is fulfilled.
Francis, along with his betrothed Jane (Lil Dagover), investigates Caligari and Cesare, which eventually results in Cesare kidnapping Jane. Caligari orders Cesare to kill Jane, but the hypnotized slave refuses after her beauty captivates him. He carries Jane out of her house, leading the townsfolk on a lengthy chase. Cesare dies of exhaustion after discarding Jane at the end of the pursuit, and the townsfolk discover that Caligari had created a dummy of Cesare to distract Francis.
Francis discovers that "Caligari" is actually the director of the local insane asylum, and, with the help of his colleagues, discovers that he is obsessed with the story of a monk called Caligari, who, in 1703, visited towns in northern Italy and used a somnambulist to murder people in a similar fashion. After being confronted with the dead Cesare, Caligari reveals his mania and is imprisoned in his asylum.
A "twist ending" reveals that Francis' flashback is actually his fantasy: he, Jane and Cesare are all inmates of the insane asylum, and the man he says is Caligari is his asylum doctor, who, after this revelation of the source of his patient's delusion, says that now he will be able to cure Francis.