A) BY TRAIN
Trains in Spain are fast and comfortable, but quite expensive if you don´t book in advance.
To reach Huelva by train, follow these instructions:
- From Barajas Airport take the metro (line 8) untill Nuevos Ministerios. There, change to line 10, and go to Tribunal. Finally, take the line 1 to Atocha (train station).
From Atocha Station, there are a lot of trains everyday to Seville, most of them are AVE trains (high speed, 2h30m).
The standar price it can be up to 75.50€ BUT you can get important DISCOUNTS.
With the European Youth Card, you will get 25% off, and if you book in advance (I would recommend you to book at least 15 days before your trip), you have different fares without the youth card, like Promo or Promo+, where you can get your tickets from 28.70€, and in most of trains from less than 35€.
Check the timetables, prices and offers in http://www.renfe.com/EN/viajeros/index.html
Here, you can see the different prices.
BUT that´s not all, because you also have some direct trains from Madrid to Huelva, so you don´t have to change to another train or bus in Seville.
Trains take around 3h30m (so much faster than the bus, that takes around 7h45m), and prices start from 35.75€ for one person or from only 28.60€ if you are a group of four.
The only problem is that they just offer 2 direct trains per day, a big difference if you compare the number with the 20 daily trains Madrid - Sevilla.
B) BY BUS
There is a low-cost bus company called Socibus, that offer really good prices from Madrid (Airport or Méndez Álvaro Station) and they have several departures everyday.
They offer wi-fi in their buses, but they take 8 hours, and is more uncomfortable than train, but yes, is cheaper.
The one-way ticket cost 25.80€, and you can have discount with your European Youth card, but it´s not possible to get it on internet, where you will also have to pay an internet fee, so the final price will be 28.30€ (my recommendation is: try to get a cheap train if you can, cause you can pay the same or maybe 5-10€ more, but you will save 4-5 hours and will travel more comfortable).
I recommend you to book at least one day before, cause this buses are often fully booked, and you may have to wait at the station for the next one.
To go by bus you have 2 options:
The first one is to buy a ticket from Barajas (airport) to Huelva, and you will go straight to the bus station in town.
The negative thing is that just 2 or 3 buses are departing from Barajas per day, so if the hours are not convinience, you should check the second option, a bus from Madrid (Méndez Álvaro station) to Huelva.
Check prices and schedule here: http://www.socibus.es/index.jsp
To reach the station follow the instructions below:
- From Barajas airport take the metro (line 8) untill Nuevos Ministerios. Once there, take the line 6 till Méndez Álvaro and you will find the station there.
European Youth card to get discount in trains and some buses.
C) By plane.
You can fly from Madrid to Sevilla with Iberia Express from 36€ one way.
The good thing is that you don´t have to leave the airport, but good prices are just available when you book both ways, and are not so easy to find even if you do that, having to pay 40-55€.
Check schedules and prices here: http://www.iberiaexpress.com/en/
The trip will take 1h - 1h15m.