Centuries ago, Dr. Parnassus (played by Christopher Plummer) was a respected monk who told timeless stories in the isolation of the wild mountains. One day, the devil Nick (played by Tom Waits) showed up uninvited. Tempted by him, Parnassus made a bet with the devil, ultimately gaining eternal life as a result. Fast forward to the present, the doctor travels around with a fantastical circus consisting of his daughter Valentina (played by Lily Cole), young Anton (played by Andrew Garfield), and the dwarf Percy (played by Verne Troyer). Just as his daughter is about to turn 16, Nick reappears. It turns out that the doctor once fell in love with a woman (also played by Lily Cole), but eternal life did not mean eternal youth. To stay with the love of his life, he made another foolish bet with the devil, and the price for regaining his youth was to offer his first child to the devil. As the deadline approaches, the troubled doctor makes another bet with the devil, stating that he could save his daughter if he collects 5 souls first. At this moment, the down-and-out Tony (played by Heath Ledger) appears just in time...