You would usually find that the best way to get a cheaper ticket would be to book a few weeks in advance. For information in the trains in Italy check out the following link:-
http://www.destination360.com/europe/italy/trains.php
Usually if you look at the website for the main station in Milan it will give you a variety of options from all the different companies making the route to Florence and if you booking in advance you should be able to get a reasonable fare.