David Accam's 13th league goal of the season was not enough to prevent Chicago Fire from tasting their first home defeat this term.
His 54th-minute goal cancelled out the match opener from Toronto FC courtesy Marky Delgado.
'Dax McCarty laid a pass off to Bastian Schweinsteiger near the top of the box. The German midfielder blasted his shot off the post, and the ricochet deflected off of Accam into the net.
Hasler headed in the game-winner from a Victor Vazquez cross in the 63rd minute, and Giovinco tacked on one more on a breakaway give-and-go with Tosaint Ricketts.