The nearest airport is located in Jerez de la Frontera (40 km from Cádiz). There are daily direct-flights from Madrid, Barcelona, London and Frankfurt.
The M050 and M051 buses communicate the airport with Cádiz city (2.85 EUR). See more information on: bus schedule and www.cmtbc.es
Recently a train connection between Jerez airport and Cádiz City is working daily. See the following link. Another possibility (more expensive) is to take a taxi from the airport to Jerez Train Station (18 EUR) plus a train from Jerez to Cadiz (Renfe).