Long ago, a young villager by the name of Dunstan (NATHANIEL PARKER) snuck across the barrier separating his home of Wall from a mythical place known as Stormhold. There, he discovered a menagerie of exotic peoples and creatures, including a witch by the name of Ditchwater Sal (MELANIE HILL) who's enslaved Princess Una (KATE McGOWAN) as her servant. A one-night stand between her and Dustan results in a baby. Eighteen years later, young Tristran (CHARLIE COX) lives in Wall and is enamored with Victoria (SIENNA MILLER), but she's likely to marry Humphrey (HENRY CAVILL). That is, unless he can retrieve a recently fallen star and return it to her, in which case she'll be his.
Accordingly, he cross the same barrier his father did so many years ago, and eventually finds the star, now in the human form of Yvaine (CLAIRE DANES). She's reluctant to return with him, particularly because she's just a romantic bounty to him, but little do they realize others are after her as well.
With the King of Stormhold (PETER O'TOOLE) having recently died, his opportunistic sons -- including Primus (JASON FLEMYNG) and Septimus (MARK STRONG) -- are in search of a special ruby that knocked Yvaine from the sky. Whoever ends up possessing it will ascend to the throne, and they figure that if they find the fallen star, they'll find it. Yet, with all of them inheriting their father's ruthless way of dispatching sibling rivals, it's anyone's guess as to who will end up with it.
At the same time, old sisterly witches Lamie (MICHELLE PFEIFFER), Empusa (SARAH ALEXANDER), and Mormo (JOANNA SCANLAN) have learned of the fallen star, and know that if they cut out and eat her heart, they'll have eternal youth and beauty. Accordingly, Lamie sets out to find Yvaine, and will do anything in her arsenal of power to capture her.
With all of that in play, Tristran finds himself torn as he begins to be attracted to Yvaine. But as he tries to figure out which woman is his true love, he must not only contend with the others who are also after the fallen star, but also Captain Shakespeare (ROBERT DE NIRO) and his motley crew of an old rigger that flies through the sky, capturing lightning for resale to the likes of shady trader Ferdy the Fence (RICKY GERVAIS).