Es una expresión muy antigua (que aparece varias veces en el Quijote). Su origen resulta incierto. Algunos suponen que se trata de un juego de palabras con dos acepciones de alma: la que significa ‘entendimiento’ y la que alude a la ‘parte hueca de ciertas cosas’, como un cañón o un cántaro. Así, con alma de cántaro se estaría diciendo que el entendimiento de alguien es un mero vacío.