The match included a league-record four penalty kicks.
Mullins' tying goal came after Toronto FC cleared a free kick across its own net.
"When you're at the end of the game and you're up, we feel like we need to lock that game down and win the game," said Toronto coach Greg Vanney. "So we're disappointed we gave up two points.
"We can't give away four goals and expect to come away with a win."
Toronto had grabbed a 4-3 lead in the 82nd minute when Giovinco stole the ball, dribbled downfield and cut a pass back to Marky Delgado, who finished in front of the net.
David Villa put NYCFC in front in the 17th minute on a curling direct kick that glanced off goalie Chris Konopka's fingers.
Giovinco missed a penalty kick two minutes later, and NYCFC went up 2-0 in the 29th when Villa's penalty kick was blocked and Mullins' deflected follow went off Damien Perquis and into the net.
Giovinco then began his scoring streak, making good on a second penalty kick chance in the 34th. He tied the match in the 40th off a nifty back-heel pass from Jackson. Giovinco's 11th goal of the season came in the 43rd after he punched the ball over goalie Josh Saunders for a 3-2 lead. It was the first hat trick in franchise history.
"He was excellent," Vanney said about Giovinco's performance. "I thought he was, with open space and ability to run at people, you saw what he can do...but we have to provide him with support."
Villa's 10th goal of the season, coming off a penalty kick after he was brought down by Konopka, tied it at 3 in the 65th.
"I thought we had some good stretches where we could attack and play, but what we didn't do was defend set pieces very well," said Vanney. "And obviously giving away a number of penalty kicks never helps."