Firstly, you can fly from Cardiff to Edinburgh with Flybe for about £40 id you pre-book. The easiest way to find out who flies where and when is to use Skyscanner. If you click this link, you should see the prices for one way flights between Cardiff & Edinburgh for the month of April as of now.https://www.skyscanner.net/transport/flights/cwl/edi/cheap-flights-from-cardiff-to-edinburgh.html?adults=1&children=0&adultsv2=1&childrenv2&infants=0&cabinclass=economy&rtn=0&preferdirects=true&outboundaltsenabled=false&inboundaltsenabled=false&oym=1704&ref=home&selectedoday=01
Beware of baggage in hold charges. Flyby are also known for poor customer service - like you can’t get them on the phone and they don’t respond to e-mails quickly. (I would send them a test question first if thinking of using them). Cardiff Airport is about a 35 minute bus ride south west of the city centre. Buses are usually every 20 minutes and cost about £5.
When you land at Heathrow, the best thing to do is to take the Railair coach link to Reading station.
Between Reading & Cardiff, trains are usually every 30 minutes but may be hourly on weekends. The journey takes 1 hour 30 minutes.
If you just show up at Reading & buy a ticket on the day, it will cost you more than pre-booking. (If did just buy on the day, you may well find it cheaper to purchase split tickets with the split being at Swindon - even though you stay on the same train).
Now, you don’t know exactly when you will get to Reading - so - if pre-booking a train, give yourselves plenty of leeway. If you arrive early, go to the platform and wait where the rear of the next train to Cardiff/Swansea will stop. Tell the guard that you pre-booked a later train but could you travel on this train at no penalty rather than hang about. Usually they will say it is OK but may refuse if it is a busy service running in peak hours.
You can find the train times and fares at www.nationalrail.co.uk The advance cheap fares for specific trains appear on the system about 11 weeks ahead of time. As time progresses, the fares rise - play around and see the differences! Pre-book with https://www.gwr.com (where you should also be able to pre-book Cardiff > Edinburgh even though you will be travelling with Arriva Trains Wales & Virgin). Of course, you may prefer to book separately with each of these companies and sometimes they have special deals on their websites. (You will get a booking number for each leg of the trip. They take the money off your debit card. When you arrive - bring the same debit card & insert it into a Fast Ticket Machine and input the Booking Number. Out will come your tickets. Alternatively, take Booking Number print out to a humanoid at the station. You may be able to pick up all the tickets when you arrive at Reading station).
Go to www.nationalrail.co.uk & put in the CDF to EDB and you will get a ridiculous fare of £175.30 one way. No matter how far out you book, the fare stays the same as the pay on the day fare. This is because you have to switch train companies mid way - at Crewe and they don’t co-operate. So, you don’t go back to London for this journey, but do in fact take a direct route with this one change at Crewe. The total journey takes 6 hours 17 minutes. So, we need to reduce the fare!
Do this:> CDF > CRE leaving on the 10.05 (destination will be Manchester) to arrive CRE at 12.28. You should pick up an advance fare of about £21.50.
Now do this:> CRE > EDB departing Crewe at 13.09 on Virgin to arrive EDB at 16.22. You should find a price of about £12 if you pre-book about 11 weeks ahead. So, that = a total of £33.50 from Cardiff to Edinburgh - thus saving a whopping £141.80 that you would have paid to sit on exactly the same trains. (You can send me my cut)!