Bari Karol Wojtyła Airport: Best without a car: take the Ferrotramviaria airport train to Bari Centrale (about 17 minutes), then a Trenitalia regional train south to Fasano (roughly 45–60 minutes). Allow 1½–2 hours door to door and about €10–15 total, plus a short taxi or a 25–30-minute walk from Fasano station into the old town. If you are staying at a masseria, in Selva di Fasano, Savelletri or Torre Canne, rent a car at the airport instead; public transport is not built for these dispersed addresses.
Brindisi Airport (Salento): Take the local airport bus or a taxi into Brindisi railway station (about 10–15 minutes), then a northbound Trenitalia regional train to Fasano (usually 35–50 minutes). Budget about 1–1¼ hours plus the final transfer from Fasano station, and roughly €6–10 by public transport. A rental car is the better choice for a coast-and-countryside stay; Brindisi is generally the simpler airport for Fasano.
Fasano railway station: The station is on the Bari–Brindisi–Lecce main line, served by regional trains. It is outside the historic centre rather than in it: walk only if you are travelling light and staying in town; otherwise arrange a taxi or hotel pickup in advance. Do not assume taxis will be waiting after every arrival.