Batistuta played for Fiorentina during the 1999-2000 season because he wanted to win the Scudetto and the Champions League. The team started well in both competitions but ended up in seventh place in the league and got knocked out early in the Champions League.
The next season, he moved to Roma in a big transfer deal worth a lot of money, about 70 billion lire (€36.2 million). He signed a three-year contract that paid him a lot of money every year, around 14.8 billion Italian lire (€7.6 million) before taxes. This transfer fee was the highest ever paid for a player over 30 years old. It was only broken in 2017 when A.C. Milan signed Leonardo Bonucci for €42 million.
Finally, in the 2000-01 season, Batistuta won the Serie A with Roma, scoring 20 goals in the league. He even scored a crucial goal in a 3-1 victory over Parma, which secured the title. In a game against his former team, Fiorentina, he scored a stunning long-range goal with his right foot in November 2000. Even though he was visibly upset, he didn’t celebrate with his Roma teammates. Instead, he saluted the Fiorentina fans before and after the match, and they showed him a lot of love. He left the stadium in tears, and a reporter from The Guardian said, “Batistuta breaks Florentine hearts, and his own.”
In the following season with Roma, he changed his shirt number from 18 to 20 to represent the number of goals he scored during the Scudetto-winning campaign. He also wore the number 33 on his Roma shirt in 2002 to show his age.