The match began in end-to-end fashion with New York forcing a couple of early corners, one of which led to the first goal after just four minutes.
New England weren't behind for long, as two minutes later a corner of their own lead to an own goal from Brandon Barklage.
The full-back made up for his error immediately, running clear down the right and picking out Fabian Espindola with his cross. The striker made no mistake from the middle of the penalty area, placing the ball into the corner.
McCarty almost increased the lead with a carbon copy of his goal, but fired just over after Thierry Henry's pass.
Henry was involved again just before half time, finding Espindola in space, but his strike partner couldn't add to his tally, heading the ball just over the bar.
Just after the break, Henry missed a chance of his own, firing wide when free in the middle of the box.
The Frenchman finally got his goal 10 minutes from the end, when after collecting Jonathan Steele's through-ball, he curled home past the goalkeeper.
There was still time for Steele to tap in after good work from Henry and New York comfortably move up to second in the Eastern Conference.