Villa struck early in the second half as a 10-man City recorded a 2-1 win over the Fire on Saturday.
Yangel Herrera was sent off in the 12th minute at Yankee Stadium after a rash challenge on Fire star Bastian Schweinsteiger.
But Villa volleyed in the opener just after halftime before Frederic Brillant headed in the home side's second.
New York City FC (@NYCFC) July 22, 2017
David Accam scored from 25 yards for Chicago, but they were unable to find another as their 11-match unbeaten league run was ended.
The win kept City in third but moved them to within a point of the Fire, who are two adrift of Toronto after the Eastern Conference leader drew 1-1 with the Colorado Rapids.
In the Western Conference, Dallas are top after a come-from-behind 2-1 win over the Montreal Impact.
A Michael Salazar header had given Montreal a 23rd-minute lead, but Cristian Colman delivered after the break for Dallas.
Colman tapped in an equalizer and his superb control and finish secured the three points just after the hour-mark.
The third-placed Houston Dynamo made a strong start before claiming a 3-1 victory against struggling DC United.