A bus to Florence is a good option from Siena or San Gimignano

The main bus station in Florence is just southwest of the train station (as you're exiting the station, at the far corner of the piazza to your right) on Via Luigi Alamanni.

The region is actually served by a dizzying number of different, overlapping bus services—though the handiest is Tiemmespa.it, which connects with both Siena and San Gimignano (as described below). 

When to take a bus to Florence

Taking a bus to Florence is, in most cases, a distant second choice to taking the train, which is (usually) faster, more frequent, and more reliable for roughly the same price. Buses also can take you to the much smaller towns around Tuscany—but if you are visiting those, a rental car is a far better option anyway.

There are two exceptions for popular destinations within Tuscany: Siena and San Gimignano.

It makes a bit more sense to travel by bus between Florence and Siena only because the Siena train station is way down in the valley below town, requiring a city bus to get up to the historic center, whereas Siena's bus station is on Piazza Gramsci, near the north end of the center just to the east of the stadium.  Trip time: 75 min (€8.40 ($10)).

San Gimignano doesn't even have a train station—the nearest one is in the town of Poggibonsi (a 20–minute bus ride from San Gimignano). What's more, the buses between Florence and Poggibonsi are actually faster (50 min) than the trains (60 min—or 75 min for those requiring a change in Empoli). With wait time in Poggibonsi, the total you're looking at is about 80–100 min, and €6.20 ($7).

Florence tours
 
More tours
 
 
Activities, walks, & excursions links
 

General tips of similar interest

A Flixbus in Italy (Photo Public Domain)

Long-distance bus travel in Italy