The tie-breaking tally occurred in the 60th minute when a pass toward the goal caromed off the lower leg of New England defender Michael Mancienne.
Heber scored on a header 12 minutes later to make it a two-goal margin.
New York City FC (4-5-0, 12 points) protected the lead to win their third consecutive contest. Goalkeeper Sean Johnson had three saves for his third shutout.
New England (2-2-5, 11 points) had a seven-game, regular-season unbeaten streak snapped. It began after the club lost its opener on Feb. 29.
Revolution goalkeeper Matt Turner made four saves. New England had a 15-11 edge in shots but put just three on target compared to five for NYCFC.
NYCFC's first goal was set by defender Anton Tinnerholm, who rushed toward the goal from the right before centering the ball toward Heber in front of the net. Both Heber and Mancienne slid in pursuit of the ball and it bounced off the leg of Mancienne and into the net.
NYCFC received breathing room in the 72nd minute when defender Ronald Matarrita took the corner kick and sent the ball toward the goal. Heber was in position and flicked a strong header past Turner to make it 2-0.
New England's first shot on goal came in the 70th minute when forward Gustavo Bou sent a hard left-footed shot from outside the box that Johnson got a hand on to knock it over the net.
Turner made a huge save in the 14th minute to keep the game tied.
Matarrita took a corner kick and sent the ball toward the pile of people in front of the net. Defender Maxime Chanot eyed the ball and snapped a fierce header toward the goal but Turner moved to his right and made the superb save
Both teams took five first-half shots with NYCFC placing the only two on target.