Spanair flies between Madrid Airport and Girona Airport destination more or less every day for approximately 60 euros (depending on when you book).
Ryanair also runs daily flights to and from Madrid. It takes approximately 1hr 10 minutes each way, currently leaving Madrid at 12.50 for Girona and leaving Girona at 2.30 for Madrid.
Madrid Barajas Airport is approximately 15km from the city centre.
The flights are reasonably priced with both companies, and you can get connection flights to other destinations from Madrid. You have the choice of flying with two well-reputed budget airlines.The train service from Madrid is frequent, cheap and fast. The airport is connected to the city bus system which is also very efficient. Although Barcelona Airport offers more frequent flights, if you fly with Ryanair you can make very cheap connections to other Ryanair destinations all over Europe from Girona Airport or Madrid Airport. Flying from or to Girona Airport is useful if you live or are staying in Girona or Costa Brava, as Girona Airport is very accessible and the parking is cheap.
The new high speed train can get you from Barcelona to Madrid in 3 hours, so this could be a better alternative. There is only one flight per day to and from Girona Airport, so it might be better to get a flight from Barcelona´s main airport instead. Barcelona Airport offers flights almost every hour between the two cities. It also has a direct shuttle service, which is not available from Girona Airport. If you are making a connection flight to Madrid or Girona Airport, you need to pick up your luggage inbetween and check it in again.
Ryanair often has reported delays, whereas Spanair reportedly offers a more punctual service with better service, respecting the Warsaw agreement. Ryanair has limited luggage allowance and charges very high prices for extra luggage. Please see our Companies page under Flight Destinations for more information.