James Horner had previously worked with Ron Howard on Cocoon and was hired to score Willow based on his reputation for creating lush, sweeping, and emotional music. Horner spent over a year working on the score, which he described as "a very big project" that required "a lot of research and experimentation". He used a variety of ethnic instruments, such as Celtic harps, pennywhistles, dulcimers, and bagpipes, to create a distinctive sound for the fantasy world of Willow. He also incorporated elements of folk music, medieval music, and Wagnerian opera into his score.
Horner collaborated with the King's College Choir of Cambridge to create a choral language for the film, based on Latin, Welsh, and Sanskrit. He said that he wanted to avoid using English words because they would sound too familiar and mundane. He also used a boy soprano to sing the theme for Elora Danan, the baby princess who is the key to the film's plot. Horner said that he chose a boy soprano because he wanted "a pure, innocent sound" that would contrast with the dark and evil forces in the film.
Horner recorded the score with the London Symphony Orchestra at Abbey Road Studios in London. He said that he was very pleased with the orchestra’s performance and that they gave him "a lot of freedom and flexibility". He also praised Ron Howard for being supportive and trusting of his musical vision. Horner said that Howard "let me do what I wanted to do" and that he "never interfered or questioned anything".