The closest airport is Jerez de la Frontera, about 30 minutes by car or taxi (fixed price €46), 1 hour by direct bus or train, though there are few buses and trains, and the schedules do not fit most flights. There are several daily flights to Madrid and Barcelona (Iberia, Vueling). Ryanair flies daily to London Stansted and Frankfurt Hahn. Other operators fly scheduled, charter, or seasonal flights. The nearest major airports are in Sevilla (1 hour by car, 2 hours by bus or train) and Malaga (2-3 hours by car or bus).
For Jerez-Cádiz and other medium range timetables see Most long range buses are handled by Comes from Plaza de la Hispanidad.
Frequent trains run to Jerez and about hourly to Seville. A very convenient way to come in from Madrid is with the Talgo train that runs twice a day covering the distance in about 5 hours.
From Jerez to Cadiz fares are only 5€ for an adult and 3€ for a child
Trains from Seville are around 16€ for a single and 20€ for a return. Make note, if you get a return you have to book your seat reservation for the way back upon arrival at the station, otherwise you'll be expected to pay the full fare!
From Madrid, Cordoba and Seville you can use the A4, from Barcelona N340. A taxi ride from Jerez de la Frontera to Cadiz costs about € 50.
Cruise ships often dock within easy walking distance of the old city/downtown. Passengers also can take day trips to Seville (about two hours by bus) or Jerez De La Frontera (less than 1 hour by bus). There are frequent commuter ferries to Rota and Puerto de Santa