Nella stagione 1997-1998 segnò 21 gol in 32 partite, fra cui una tripletta contro l'Udinese alla prima giornata di campionato. Rimasto a Firenze sotto la guida del nuovo allenatore Trapattoni, il quale gli assicurò che la Fiorentina avrebbe lottato l'anno successivo per lo scudetto, nella stagione 1998-1999 i viola conclusero al primo posto il girone d'andata: Batistuta realizzò 17 gol in 17 giornate e con i suoi compagni vinse tutte le partite in casa e sconfisse il a San Siro per 3-1 con una sua tripletta. Nel girone di ritorno la Fiorentina, complice anche l'infortunio dello stesso Batistuta contro il Milan, perse posizioni e si piazzò terza in campionato qualificandosi per la UEFA Champions League; lui concluse la stagione con 21 gol in 28 presenze piazzandosi secondo in classifica marcatori dietro Amoroso.