If you asked 100 people 'Florence or Milan', 99 people would choose Florence. I would stay in Florence for 3 days and take a day trip to Siena via cheap bus. You can always take the train to Milan from Florence to catch your flight.
If your flights aren't already booked you can also get cheap fares from
www.ryanair.com. They are usually cheaper than EasyJet. I have flown for 2 cents round-trip a couple of times from Dublin to Belgium. You just have to book a little early.
Edit: Also, make sure you get the high-speed train out of Rome. This can cut your travel time down significantly, although you will pay a slightly higher price. These are the ES* trains.