Przepowiednia głosi, że rządy okrutnej królowej Bavmordy (Jean Marsh) ukróci dziewczynka, która ma się właśnie narodzić. Władczyni rozkazuje zamordować wszystkie niemowlęta płci żeńskiej. Z życiem uchodzi tylko mała Elora. Opuszczona w koszyku dziewczynka dociera do wioski karłowatych Nelwynów. Tam Elorę znajduje rolnik Willow (Warwick Davis), który postanawia oddać dziecko matce. Wyrusza więc w podróż. W drodze do miasta, karzeł poznaje uwięzionego w klatce Madmartigana (Val Kilmer), który za uwolnienie zgadza się pomóc mu w odnalezieniu matki.