David Villa and Kwadwo Poku each had a goal and an assist for New York City, which posted the expansion franchise's first back-to-back wins.
"In the first half, I thought we turned the ball over too much and we were off with our passes, so we never got into some kind of rhythm," said Impact head coach Frank Klopas. "We were still in the game at 1-0 and we pushed and then had some momentum. We were not happy with the first half, but it's unfortunate that a few mistakes cost us the game tonight."
Villa finished a great team buildup in the 31st minute. A quick two-pass combo from Patrick Mullins and Mehdi Ballouchy led Villa to an open space in the middle of the box.
Mix Diskerud put NYCFC (3-7-5) up 2-0 in the 76th minute, finishing Poku's cross low and hard into the left corner.
Lefevre would get the Impact (4-5-2) on the board in the 88th minute with a well-timed header off Laurent Ciman's free kick.
But NYCFC answered in the 90th minute when Poku finished Villa's cross.
"It was hard at the beginning to find our marks on this pitch. We were trying to play long balls in the first half, but we played much better in the second half," said Lefevre. "It was a great delivery by Laurent to score my first goal, but I can't be happy because we were losing 2-0 and we still lost that game."
Montreal had a good opportunity in the 37th minute when Andres Romero intercepted a clearance attempt. He then dribbled for a couple yards before firing a shot that required a diving save.
It was the first time NYCFC scored three goals in a match.