Victor Vazquez got the Canadian outfit on the board inside 10 minutes, finishing off a rebound after Jozy Altidore's cross was pushed out near the penalty spot by New York goalkeeper Luis Robles.
The home side got back level just before the break.
Drew Moor was somewhat controversially called for a foul on Bradley Wright-Phillips in the penalty area and Daniel Royer scored from the spot to get his team back on even terms.
Then Giovinco stepped in.
After drawing a foul just outside the New York box, the MLS all-time leader in free-kick goals curled one home past Robles, who was slow to react, sealing a victory for the top seed.
The two sides will meet again for the second leg Sunday at BMO Field in Toronto.