Bilbao Airport (IATA: BIO) is served by Lufthansa, Air France, Air Berlin, TuiFly, AerLingus, Iberia, Air Europa, Vueling, Norwegian and several other airlines.
EasyJet flies from London Stansted and Manchester to Bilbao airport.
Lufthansa flies from Munich and Frankfurt to Bilbao airport.
To get to downtown from the airport, take the bus Bizkaibus A3247 from the arrivals sidewalk, just outside the arrivals hall, on the right hand side when you exit the airport. You can get the ticket from the bus driver and the cost is very reasonable at around 2€ (be sure to have exact change).
This bus leaves every 30 minutes from 6:15 to 0:00 (:15, :45). The ride from the airport to the Bilbao bus terminal (Termibus) takes about 25 minutes. Other stops are Alda. Rekalde 14, Gran Via (Subdelegation de Gobbiemo), Gran Via 74.
Taxis to downtown Bilbao from the airport cost about 25-30€.
The reverse journey is at :25 and :55 past the hour from the bus terminal to the airport, stopping three times on the way at Gran Via 79, Viajes Ecuador, Plaza Moyua and Almeda Recalde 11. A single ticket costs 1.40€.
Santander (IATA: SDR) can be reached with Ryanair flights. This airport is 1 hour by car from Bilbao (104 km). There is a direct bus from Santander Airport to Bilbao for 12.71€ one way ticket with ALSA company.
Biarritz Airport (IATA: BIQ) is about an hour and half drive (146 km) to the east of the city and is a popular airport for visitors from France. There are buses between Biarritz and San Sebastian and train that involve at least one change. Once in San Sebastian you can take a PESA bus to Bilbao.
RENFE runs intercity trains to Madrid, Barcelona, Vigo (Galicia). All Renfe trains leave from Abando Station.
FEVE runs regional trains to Santander (3 daily), and Leon (1 Daily). They are very slow, and make a stop in almost every single town they pass through. From Santander you can continue to Oviedo (Asturias), and La Coruña (Galicia). This journey has three legs, but it is only possible to do 2 legs in any one day.
FEVE trains leave from Santander Station (next to Abando Station) EuskoTren runs a local service to San Sebastian, with connection there for Irun (on the Spanish-French border). It takes two hours to reach San Sebastián. Trains leave from Atxuri Station.
All buses to other provinces leave from the TermiBus terminal. There are regular connections to Santander (75 minutes) San Sebastián (60 minutes) and Madrid (arriving at Avenida de Las Americas bus station, 4-5 hours) among others.
To arrive to Bilbao from San Sebastián, the PESA and ALSA buses take off from the main bus station. In Google maps you can type in "Estación de Autobuses de San Sebastián, San Sebastian, Espana" to see where it is. You also need to buy a ticket from the PESA or ALSA ticket office before you board as you can’t buy tickets walking onto the bus.
The bus companies connect Bilbao with many cities in Spain more cheaply and frequently than the rail companies. The company linking Bilbao to Santander is ALSA. It's usually better to buy the ticket the day before or print your ticket on the company’s website. Instead of printing, you can also use the text message they send to your mobile as proof of purchase.
For Vitoria-Gasteiz, take La Unión Alavesa buses.
There is a direct car ferry available between Bilbao and Portsmouth, England. It is best to book early, since the ferry is often booked out in summer.