Adolfo Suárez Madrid–Barajas Airport: There is no useful direct airport-to-Toledo service. Take the Airport Express bus to Atocha (about 30–40 minutes, roughly €5), then the Renfe Avant/AVE-style service from Madrid Puerta de Atocha to Toledo (33 minutes; roughly €19 return in the cited same-day fare). If arriving at Terminal 4, Cercanías to Atocha is another workable connection; leave generous time for the station change and train boarding.
Madrid Puerta de Atocha station: The good option is Renfe’s reserved-seat Avant to Toledo: 33 minutes. Buy on Renfe rather than accidentally using the red Cercanías machines; boarding begins 20–30 minutes before departure and the gate closes five minutes before.
Madrid Plaza Elíptica bus station: ALSA buses run direct to Toledo about every 30 minutes until around 21:30. Allow about one hour; a return has been about €9.75. It is slower than the train but often the sensible fallback when Avant trains are full.
Toledo railway station: Do not pay for the red private shuttle waiting outside. Blue city buses 5, 22, 61 or 62 go to Plaza de Zocodover for about €1.60, paid to the driver. The station is below the old town; walking up with luggage is a poor start to the day.
Toledo bus station: It is a steep, scenic 20-minute climb to the old town, or take a local bus—Line 5 is a useful choice—to Plaza de Zocodover. Use the bus if you have bags or limited mobility.