Sobre la procedencia de su nombre existen varias versiones, las dos más extendidas son, una que su nombre viene de que las rocas que se extraían de sus canteras, en el tiempo en que éstas existieron en la localidad, presentan grandes cristales de feldespato y cuarzo, llamados "dientes de caballo" o "habas"; la otra versión, también muy popular es que su nombre procede de la célebre leguminosa, que se criaba con abundancia en estas tierras.
La zona se encontraba poblada en la época romana, como atestiguan la existencia en la ermita de un ara romana utilizada como pila de agua bendita, el puente romano sobre el río Ortigas y las numerosas tumbas excavadas en la roca que proliferan en las inmediaciones de dicha ermita.
Documentado encontramos que este territorio fue conquistado a los musulmanes en tiempo de Fernando III, y pasa a la Orden de Alcántara. El maestre Gonzalo Pérez Gallego le otorga carta de población en el siglo XIV, regulando las condiciones de entrega de tierras y las normas jurídicas por las que había de regirse la comunidad.
Toda la comarca de La Serena perteneció a la Orden de Alcántara, donde destacaba el priorato de Magacela en, prácticamente, todo el partido.
Aunque, debido a su accesibilidad, hacía las veces de capital de partido Villanueva de la Serena, de la que fue aldea La Haba, hasta 1554, que el rey Carlos I de España y V de Alemania, le da su autonomía y el título de villa, previo pago de 1.346.500 maravedises.
Este documento no queda ratificado, al abdicar dicho rey en 1555 y no estar esto documentado. Será en 1666 cuando se solicita la confirmación y la Reina Gobernadora Doña Mariana de Austria, madre y tutora de Carlos II, que entonces contaba 5 años, así lo previene y dicta el acuerdo el 7 de mayo de dicho año.