Maxi Moralez celebrates his go-ahead goal in the 56th minute. (Adam Hunger/USA TODAY Sports)

BRONX, N.Y. — New York City FC squandered a fabulous opportunity to pull closer to the top of the Eastern Conference Thursday night.

Victor Vazquez converted a penalty kick a minute into second-half stoppage time to lift short-handed Toronto FC to a stunning 2-2 draw with City at Yankee Stadium.

Toronto played without captain and midfielder Michael Bradley and striker Jozy Altidore, who were called into the U.S. national team for the CONCACAF Gold Cup. The Canadian club also lost striker Sebastian Giovinco to an injury early in the match.

NYCFC remained in third place.

So, this one hurt, hurt a lot.

“Obviously we’re all upset,” said midfielder Maxi Moralez, who celebrated his return to the Starting XI with a goal. “I don’t think we deserved to tie.

“It’s a result we weren’t looking for, they were missing some key players and when that’s the case we have to take advantage.”

Added goalkeeper Sean Johnson: “A tough one to swallow.”

Ashtone Morgan, filling in for Justin Morrow on the left side of the defense, got on the end of a cross at the corner of NYCFC’s six-yard box and slotted the ball to the back post for a 1-0 Toronto lead in the 11th minute.

NYCFC then tallied on either side of halftime to grab a 2-1 advantage.

First, David Villa struck for his team-best 13th goal of the season two minutes into first-half injury time to equalize at 1-1 before Moralez boosted the hosts into a 2-1 lead in the 56th minute. Center back Alex Callens teamed up with Villa to work the ball out of trouble, setting up the Colombian midfielder.

But it wasn’t meant to be.

Defender RJ Allen dragged down a TFC attacker in the box, and referee Ted Unkel didn’t hesitate to blow the whistle and point to the penalty spot as Vazquez converted past Johnson for the precious equalizer.

“It was a tough result,” Johnson said. “We’re disappointed not to come away with three points. We fought hard. We played a solid 85 minutes and gave away a PK at the end there to give them life. We have to find a way to close that game out regardless of the situation over the course of the game. We have to figure that out.”

NYCFC head coach Patrick Vieira realized his team was beaten by a superior side.

“You have to give them credit though,” he said. “If I was in their shoes I would be really disappointed to go back to Toronto with only one point.”

City hosts the Chicago Fire at the stadium Saturday afternoon.

Scoring Summary:
11’ – TFC: Ashtone Morgan (Assisted By: Ben Spencer)
45’+2’ – NYC: David Villa (Assisted By: Jack Harrison)
56’ – NYC: Maxi Moralez (Assisted By: David Villa)
90’+1′ – TFC: Victor Vazquez (PK)
Disciplinary Summary:
23’ – NYC: Thomas McNamara (Yellow Card)
26′ – TFC: Drew Moor (Yellow Card)
34′ – TFC: Alexander Bono (Yellow Card)
66’ – NYC: Yangel Herrera (Yellow Card)
70’ – TFC: Ashtone Morgan (Yellow Card)
90’+1′ – NYC: RJ Allen (Yellow Card)
New York City FC: Sean Johnson; Ben Sweat, Alexander Callens, Maxime Chanot, RJ Allen; Alexander Ring, Yangel Herrera, Maxi Moralez (85’ Ethan White); Tommy McNamara (73’ Mikey Lopez), Jack Harrison; David Villa (C)
Substitutions Not Used: Eirik Johansen, Frederic Brillant, Andrea Pirlo, Sean Okoli, Jonathan Lewis
Toronto FC: Alexandr Bono; Chris Mavinga, Drew Moor, Jason Hernandez; Ashtone Morgan (70’ Raheem Edwards), Victor Vazquez, benoit Cheyrou, Marco Delgado, Oyvind Alseth; Ben Spencer (61’ Jordan Hamilton), Sebastian Giovinco (39’ Jay Chapman)
Substitutions Not Used: Clint Irwin, Nicolas Hasler, Eriq Zavaleta, Raheem Edwards, Jay Chapman, Jordan Hamilton, Tsubasa Endoh