In 2003, Maggio signed for ACF Fiorentina from Parma. In June 2004 Fiorentina acquired another half from Vicenza. Maggio appeared regularly for Fiorentina until they were promoted from Serie B to Serie A during the 2003–04 season. During the 2004–05 season, he played 13 times, while in the 2005–06 Serie A season, he only appeared 3 times due to injury; in January 2006, he was loaned to Treviso in order to gain playing time, making 11 appearances, although the club was relegated at the end of the season. Overall, Maggio played 56 games for "The Viola", scoring 2 goals over a 4-year period, including spending 1.5 seasons on loan. Maggio was loaned to Sampdoria for €150,000 in the 2006–07 season. At the end of loan Sampdoria signed him in another co-ownership deal for €1.5 million.