There are several ways to get to San Gimignano, and while a car might be the simplest because you have no schedules to follow, parking in San Gimignano can get costly (last time we were there, it was €2 per hour, probably not the best way to encourage visitors to stay all day).
By Car
Coming from Florence
If you're coming from Florence, head in the direction of the A1 and take the "Firenze Impruneta" exit. Right next to the entrance to A1 is the entrance onto the Firenze-Siena roadway - take this road south. Exit at "Poggibonsi Nord", follow signs to "San Gimignano".
Coming from Siena
If you're coming up from Siena, follow signs toward Florence and get on the "Siena-Firenze" road, exit at "Poggibonsi Nord" and follow signs to "San Gimignano". You could also take a more scenic route, especially if the road work on the Siena-Firenze is still forcing everything into a single lane between Siena and Monteriggioni. Head for SS73bis, which will take you past towns like Sovicille and Colle val d'Elsa, where you will find indications for San Gimignano. This detour will add approximately 30 minutes driving time, but it will also give you a much more panoramic overview of the countryside.
Coming from Pisa
If you're coming from Pisa, follow the Firenze-Pisa-Livorno road toward Florence but don't go all the way to Florence, you'll end up driving more. It is better to take the "Empoli Ovest" exit and cross south through the countryside, a nice scenic drive as well. Follow signs for "Castelfiorentino-Certaldo" and once you're in Certaldo, follow signs to San Gimignano. Better yet, stop and visit Certaldo, too!
Once you're in San Gimignano, you'll have to park. Read more information on parking in San Gimignano.
Don't have a car while on vacation in Tuscany?
Don't worry, you can still visit San Gimignano during your vacation in Tuscany with public transportation.
By Train
There is no train station in San Gimignano, the nearest one is in Poggibonsi. So take the train to Poggibonsi from either Florence (sometimes a train change in Empoli is necessary) or Siena. From Poggibonsi you can then catch a bus, keep on reading for more details.
By Bus
If you're in Poggibonsi, all you need to do is take bus #130 to San Gimignano. Sometimes it starts at the train station there, sometimes it arrives from Siena. In any case, in the morning up until 11am there are at least 2 buses every hour, if not more. The local bus company is called Tiemme.
If you're coming from Florence, the best way to get to San Gimignano is by bus rather than by train+bus since you skip the need to change from train to bus! The BusItalia Nord (formerly SITA) bus company departs from its Santa Maria Novella bus depot (located on the left side of the train station as you face the station) and takes you to Poggibonsi. From there, you catch the local bus to San Gimignano. By taking the bus the whole way, the timing is better coordinated with the bus change in Poggibonsi.
Check the bus schedule for line 131 (fast bus from Florence to Poggbonsi and then on to Siena) can be viewed here.
From Siena, take bus 130/A from the train station, and they will tell you whether you will need to change buses in Poggibonsi or not since sometimes it continues after the stop.
There are other bus lines going to San Gimignano from nearby towns. From Certaldo, take bus 128. From Poggibonsi, there is also bus 133 but it takes a more roundabout way to get there (through Ulignano) so it takes a bit longer.
You can check bus schedules for bus 130 on here.
BUS TICKETS & FARES
(These are updated up to July 2019) Buy tickets at the bus office before getting on the bus or directly from the automatic ticket machines available. You can buy tickets from driver but they generally cost more.
You can buy tickets ahead of time or the day of also on the bus website, it's a new feature. Keep in mind though that it will bind you to a specific date and time: https://www.tiemme.tpl.busweb.it/ricerca
For bus 131, from Florence to San Gimignano, ticket costs € 6.80 one way (if you can't buy before, it costs € 10 if you buy from the driver on the bus)
From Siena to San Gimignano, ticket is € 6.20 one-way (€ 8 if bought on the bus)
If you need to first get to Poggibonsi and not proceed directly to San Gimignano, you'll need to buy separate tickets, so the fares are higher:
€ 6.20 from Florence to Poggibonsi (line 131)
€ 5.00 from Siena to Poggibonsi (line 131)
€ 2.60 from Poggibonsi to San Gimignano (line 130)
Enjoy your visit to San Gimignano!