If you’re coming from another country, your best options are:
Málaga-Costa del Sol Airport (AGP). You can take a bus from Málaga Airport to Granada, at the bus stop located in Terminal T3 (“Arrivals”). The price ranges from 12 to 14 euros.
Madrid Adolfo Suárez Madrid-Barajas (MAD). Although Madrid isn’t as near as Málaga, there might be more air connections and more affordable flights. You could always take the bus from Madrid centre to Granada. Bus takes a 4 hour ride, and it costs around 18 euros.
Both of them are Interantional Airports meaning they both offer daily International and Domestic direct flights with several airlines: Ryanair, Vueling, Iberia, Lufthansa, Aer Lingus, Air Berlin, British Airways…
Federico García Lorca Granada-Jaén Airport (GRX). This is mainly for domestic flights (Madrid or Barcelona, for example). Buses run regularly to the city centre, for 3-4 euros.
If you’re coming from another city in Spain:
ALSA Bus company. There are daily direct connections from almost every Spanish city with Granada. It definitely is the most affordable option.For further information on connections, prices and timetable: https://www.alsa.es/
There is a train line that goes from Madrid to Granada in 5 and a half hours, to see routes and prices: http://www.renfe.com/