The Italian was causing the visitors problems from the outset, as his quick feet and menacing pace was proving unstoppable at times.
It took until the half-hour mark for Toronto to break the deadlock as Giovinco weaved in and out of the Union defence, before threading through Marco Delgado on goal, who finished in spectacular fashion to make it 1-0.
Three minutes later, Toronto doubled their lead, as once again Giovinco caused problems with a long-range effort, which was spilled Union goalkeeper Brian Sylvestre, who was then unable to stop the striker from following up the rebound.
The visitors claimed most of the possession in the second half but were leaving themselves open to a Toronto counter-attack.
Union did get a consolation goal in the 91st minute, as substitute Conor Casey picked up the ball on the edge of the box and then fired in a left-footed shot into the bottom corner of the Toronto net.
The win puts Toronto third in the Eastern Conference, while Union stay seventh.