Ein kleines Dorf im viktorianischen England: Der junge Tristan (Charlie Cox) verspricht seiner angebeteten Victoria (Sienna Miller), ihr als Liebesbeweis einen Stern zu bringen, der kurz zuvor im magischen Königreich Stormhold niedergegangen ist. Er hat jedoch nur 10 Tage Zeit für diese Aufgabe, denn sonst heiratet Victoria einen anderen Mann. Entschlossen macht er sich zur Mauer am Rande des Dorfes auf, die die Grenze zu Stormhold ist und dringt in die Zauberwelt vor. Als er die Absturzstelle erreicht, muss er zu seiner Verwunderung feststellen, dass es sich bei dem Himmelskörper nicht um einen gewöhnlichen Stern, sondern um die schöne Yvaine (Claire Danes) handelt, die sich als äußerst widerspenstige Zeitgenossin erweist. Tristan will sich trotzdem mit Yvaine auf den Weg in sein Dorf machen, muss aber bald feststellen, dass er nicht der einzige ist, der hinter dem "Stern" her ist. Die drei macht gierigen Söhne des alten Königs von Stormhold (Peter OToole) benötigen den "Stern", um sich ihre Thronfolge zu sichern und auch die böse, alte Hexe Lamia (Michelle Pfeiffer) und ihre beiden Schwestern sind an dem "Stern" interessiert, denn er soll ihnen ihre längst vergangene Jugend und Schönheit zurückbringen. Als ob dies nicht schon genug wäre, treffen Tristan und Yvaine auf ihrem abenteuerlichen Weg auch noch auf den Luftpiraten Captain Shakespeare (Robert de Niro) und seine Männer...