La película sigue la vida de Gilda (interpretada por Anne Hathaway), una joven que descubre que tiene el don de hablar con animales. Sin embargo, esta habilidad es un secreto, ya que un hada (con la voz de Eva Longoria) le lanzó un hechizo que hace que todo lo que dice sea tomado literalmente. Gilda se enamora de Edward (interpretado por Hugh Jackman), un político que se postula para alcalde, y juntos se embarcan en una serie de aventuras y desventuras que los llevan a descubrir el verdadero valor de la honestidad y el amor.