I'm trying to plan our trip to Spain. We arrive in Madrid at 2:40pm and then want to go straight to Barcelona. I hear there is a big cost for luggage when flying in Spain, yet it's clearly the fastest (we'll have carry-on only). I've also heard the trains and buses are great? Any recommendations about the best way to travel between Madrid and Barcelona? And, Barcelona to Granada? Thanks!
Madrid-Barcelona: if you can link an internal flight to Barcelona on your overseas ticket, do it. If not, high-speed trains complete the trip in 2h30. Barcelona-Granada: this cities are far away from each other. Fly.
As immediately above. 'I've also heard the trains and buses are great?' - Yes and for intercity 'bus' read coach.
We almost always recommend the train between Madrid and Barcelona But in your case of flying into Madrid, since you will already be at the airport, flying makes the most sense. Even if you pay a little extra. You save the time of getting into the city and to Atocha Station, and then waiting (with extra time to allow for flight delays) for a train. By the time you are boarding your train, you'd be landing in Barcelona. Between Barcelona and Granada, flying is best. There is an overnight train, but it won't leave you rested and they are not comfy for many people. And flights are pretty cheap. Where do you fly home from? Where else will you be traveling? Spain has great and fast trains in many cases, but for many other trips the bus is a better option. Busses are clean and comfy and efficient.