Shortly after the death of Charlemagne, a girl called Johanna is born in Ingelheim am Rhein. She is the daughter of a village priest (Iain Glen). He also rules his wife (Jördis Triebel) and family with a rod of iron, though his Saxon wife still secretly worships the pagan god Wotan. Even so, Johanna grows up to be an articulate girl, who intensively studies the Bible, unbeknownst to her father. After her eldest brother's sudden death, their father wants to send his second son Johannes to the cathedral school in Dorestad, but when the teacher Aesculapius (Edward Petherbridge) visits them in Ingelheim, Johanna proves to be far more capable of dealing with the Scriptures than Johannes. Against her father's wishes, Johanna is taught by Aesculapius, who introduces her to literary works such as Homer's Odyssey.
When a messenger comes from the bishop to collect Johanna to take her to the cathedral school, her father claims there has been a mistake and allows him to ride away with his other son. Johanna flees her home at night and finds her brother, next to the body of the slain messenger. They reach Dorestad together, where the bishop reacts to Johanna's strong words with great surprise, and the teacher Odo (Marc Bischoff) unwillingly takes her into his class. Count Gerold (David Wenham), however, supports the now-adolescent Johanna by taking her into his home. Later Gerold falls in love with her. Soon afterwards, Gerold has to go to war in the army of Lothair I and his wife Richilde (Claudia Michelsen) takes advantage of his absence to try to arrange a marriage for Johanna and thus get rid of her rival for Gerold's affections. However, the vikings break into the city during the wedding ceremony and carry out a bloody massacre, which Johanna barely manages to survive. Johanna flees the town in a male disguise, entering the Fulda monastery of Benedictines as "Brother Johannes Anglicus". When a fever spreads around the monastery and Johanna becomes ill, she manages to avoid a physical examination, thanks to an elderly monk, who had realized she was a woman long before the fever hit. She flees the monastery and is sheltered, as a woman, by Arn (Marian Meder), the son of a woman she had helped years earlier. Arn makes her a tutor to his daughter Arnalda.
Johanna decides to re-assume her male disguise and goes on a pilgrimage to Rome to use her medical knowledge to become a Medicus there. In Rome she wins a great reputation by curing Pope Sergius II of gout with her herbal remedies. Sergius makes her his personal physician and eventually Nomenclator. When the pope threatens Lothair I for not confirming his election, Lothair marches to Rome to subdue Sergius. Using a hydraulic device, the great door of the papal palace closes all by itself, seen as an Act of God. Pope Sergius threatens Lothair and his soldiers with God's wrath if they do not pay their respect. Lothair's soldiers all kneel, with Lothair following. Fascinated by what he has seen, Gerold—who came with Lothair—recognizes Johanna and reveals his desire for her. She is torn between her male and female identities.
Meanwhile, Lothair's ally Anastasius successfully plots to murder Sergius, but the people elect Johanna as his successor by acclamation. During her pontificate she presents herself as a charitable pope, helping women and children and appointing Gerold as head of the papal army. However, she becomes pregnant and her reign is then in grave danger. She tries to hold off giving birth until after Easter, but Gerold is killed during the Easter procession by conspirators led by Anastasius, and that day Johanna collapses and then dies in childbirth.
Anastasius succeeds her but soon afterwards he is deposed by the Roman people and exiled to a monastery. There he writes the Liber Pontificalis, a list of the popes, from which he omits Johanna. Many years later the story of the female pope is made known by Bishop Arnaldo, who is revealed to be, in fact, Arnalda, the daughter of Arn.Johanna Wokalek as Johanna
Lotte Flack as Johanna - age 10-14
Tigerlily Hutchinson as Johanna - age 6-9
Tabitha Christina Rieger as Johanna - baby
Iain Glen as Johanna's father, the village priest
Jördis Triebel as Gudrun, Johanna's mother
Jan-Hendrik Kiefer as Johannes, Johanna's brother
William Stütz as Johannes - age 9-12
Jack Flack as Johannes - age 3
Sandro Lohmann as Matthew, Johanna's brother
Lukas T. Berglund as Matthew - age 6
Edward Petherbridge as Aesculapius, the teacher
Oliver Nägele as Bishop Fulgentius
Marc Bischoff as Odo, the teacher
David Wenham as Count Gerold
Claudia Michelsen as Countess Richild
John Goodman as Pope Sergius II
Anatole Taubman as Anastasius Bibliothecarius, Sergius' Papal Nomenclator
Oliver Cotton as Arsenius, Anastasius' father
Nicholas Woodeson as Arighis, Johanna's Papal Nomenclator
Gerald Alexander Held as Emperor Lothar
Suzanne Bertish as Bishop Arnaldo, the narrator
The film's production took a long time and was marked by financial and cast difficulties. The Oscar-winner Volker Schlöndorff's attempt to film the novel began in 1999, at first with the production companies UFA and Senator, until the latter was declared bankrupt in 2004, when he moved to Bernd Eichinger and Constantin Film. The planned principal photography was finally shelved in 2007 by a cancellation by John Goodman. The following summer Schlöndorff wrote a review in the Süddeutsche Zeitung criticising the production for film and television, leading to his dismissal. Sönke Wortmann replaced him as director and shortly afterwards, in May 2008, Franka Potente was replaced by Johanna Wokalek in the title role.
Shooting began in early August 2008 at Burg Querfurt in Saxony-Anhalt, Germany. Other locations were the cloister of the Landesschule Pforta and the church of St. Cyriakus in Gernrode, with the Rome scenes filmed in Ouarzazate, Morocco. Principal shooting was completed in 2008 in Germany and Morocco.
The Guardian noted the film's appearance in the Italian box office top 10 and noted Vatican criticism of the film and L'Avvenire, the newspaper of the Italian Bishops' Conference, described it as being of "extremely limited vision".
Pope Joan was nominated in four categories in the 2010 Deutscher Filmpreis (Best Supporting Actress for Jördis Triebel, Art Direction, costumes, and sound design).