Hans Christian Anderson (Danny Kaye) is a cobbler in a little town in Denmark who tells fantasy stories to the kids. The schoolmaster and others do not like this because they think the kids should study instead. Hans and his helper leave the town for a while and go to Copenhagen to make shoes for ballet dancers. He falls for a ballerina named Doro (Zizi Jeanmaire) but she is already married to a dance designer named Niels (Farley Granger). Doro inspires Hans to come up with the story of the little mermaid. The story will be performed by the ballet group. Hans goes back to his village and is famous now.