The Fire took an instant lead when Dominic Oduro fired a low shot into the bottom corner in the opening minute.
Both sides peppered each other's goal in an end-to-end first period and struggling Toronto were level nine minutes before the interval when Reggie Lambe smashed home from outside the area.
Lambe then made it two in quick succession by completing a three-minute turnaround with a shot into the roof of the net.
The home side couldn't hold out until the interval, however, as Gonzalo Segares made it three goals in four minutes by equalising moments later.
Chicago then went ahead in the 58th minute when Oduro led a counter attack before feeding Patrick Nyarko to tuck home the winner.
Defeat was Toronto's fifth in succession and they next travel to Real Salt Lake while Chicago host the Seattle Sounders.