Con la asistencia de Andalucía Film Commission se rodó en localizaciones de Cádiz, Conil, Tarifa, Puerto Real, Chiclana, Sevilla, Santiponce, Úbeda y Baeza, con la colaboración de los distintos ayuntamientos. El 30% del presupuesto de la película se invirtió en Andalucía, siendo en aquel momento la película más cara de la historia del cine español con un presupuesto de 22 millones de euros y un elenco entre los que destacaban Viggo Mortensen, Alex Ugalde, Eduardo Noriega, Ariadna Gil, Eduard Fernández, Antonio Dechent o Pilar López de Ayala.
Fueron miles de hombres y mujeres los que se presentaron voluntarios para actuar de extras en la producción y que fueron instruidos militarmente en el uso de las armas del siglo XVII (arcabuz, mosquete y pica), así como en el combate en formación cerrada (escuadrón de picas), la marcha y otras evoluciones propias de los militares de la época.