Anton Tinnerholm also scored while Alexander Ring scored in the second half and collected two assists as NYCFC (9-3-8, 35 points) moved one point ahead of the New York Red Bulls into a third-place tie with D.C. United in the Eastern Conference.
The Red Bulls host the Columbus Crew on Saturday, while DC has completed its final match before the All-Star break.
Heber scored his ninth goal and matched his longest goal-scoring streak at any level of his professional career. NYCFC also improved to 7-1-3 when he starts a match this season.
His latest goal gave NYCFC a 2-0 lead, and it occurred when he got a soft pass from Ring through the box. Heber easily moved past defender Graham Zusi and lifted a soft right-footed shot past goalkeeper Tim Melia.
Despite the goals, NYCFC sustained two injuries.
In the 50th minute, Maximiliano Moralez exited with an apparent hamstring injury. In the 64th minute, Maxime Chanot stayed in after injuring his right knee while being fouled by Roger Espinoza.
Espinoza was shown the red card for the kick on Chanot's legs, and Sporting KC played the rest of the game with 10 men.
Ilie Sanchez scored on a header off a corner kick from Johnny Russell in the 73rd minute for Sporting KC (6-9-7, 25 points). Shortly after Sanchez scored, Ring created breathing room by blasting a shot past Melia in the 77th minute.
Before Heber's latest goal, Tinnerholm scored his fifth career goal and first in exactly a year when he finished off a nifty passing play in the 41st minute.
Tinnerholm set off a wild celebration with his teammates inside the net when he got a clean crossing pass from Ring. Positioned at the left side of the net, Tinnerholm fired the ball well out of Melia's reach.
NYCFC goalkeeper Sean Johnson made two saves.
Melia finished with five saves.