After Yangel Herrera was sent off in the 12th minute, David Villa andFrederic Brillant scored early in the second half to carry the 10 men to victory.
Herrera had already been booked for one lunging challenge when he came in late again, stomping on Bastian Schweinsteiger's foot to receive his marching orders.
But Villa scored his 14th goal of the season from a volley two minutes after halftime, before Brilliant headed home from close range three minutes later.
David Accam got a goal back with a rocket from distance in the 54th minute, but Chicago could not find an equalizer, though Juninho hit the post deep into stoppage time.
The Fire saw their 11-game league unbeaten streak snapped and now lead NYCFC by just a point for second place in the East.
Teal Bunbury scored twice, Diego Fagundez had three assists and the New England Revolution beat the strugglingLA Galaxy 4-3 to snap a four-game losing streak of their own.
Lee Nguyen opened the scoring for Revolution in the 16th, only for Daniel Steres to level it six minutes later. Kei Kamara put New England back on top going into halftime, and Steres made it 2-2 eight minutes after the break.
Bunbury gave New England a 3-2 lead in the 70th minute. His pass down the right side led Kelyn Rowe, who played a perfect cross to a charging Bunbury for a header from the top of the six-yard box.
Three minutes later, Bunbury's second goal put New England up 4-2 to put the game out of reach, though Ariel Lassiter added one more goal for the Galaxy, who have lost five straight league games and have just one win in their last eight.
Daniel Royer had a goal and an assist to help the New York Red Bulls to a 3-0 win away to Minnesota United.
Royer opened the scoring in the 16th minute as he was given space to shoot from 25 yards and tucked a low shot into the corner of the net. He then turned provider in the 67th minute, setting up Bradley Wright-Phillips to score his 10th of the season.
Alex Muyl cut inside in the box and fired a shot past Bobby Shuttleworth to cap the scoring in the 90th minute as the Red Bulls won their third straight league game on the road.
Cristian Colman scored his first two goals of the season and FC Dallas rallied to beat the Montreal Impact 2-1.
After Michael Salazar scored in the first half for Montreal, Colman pulled Dallas even in the 52nd minute. The forward got on the end of a low cross in the box that eluded three Montreal defenders for an easy tap-in past goalkeeper Evan Bush.
In the 62nd minute, Colman had a highlight-reel goal. The 23-year-old Paraguayan, making just his seventh start of the season, beautifully chested down a long cross from Carlos Gruezo, evaded Bush's charge in the box and easily slotted home his second of the encounter.
Andrew Wenger had one goal and one assist, Alex Lima added three assists and the Houston Dynamo beat D.C. United 3-1 for their first road victory of the season.
Wenger opened the scoring with a header following a corner kick by Lima in the sixth minute. Mauro Manotas made it 2-0 in the 15th, side-footing a perfectly placed cross from Lima into an open net, and Memo Rodriguez made it 3-0 with a header two minutes later.
Lima, on the right side, dropped a back-footer to Wenger, who first-timed a high pass to Rodriguez for the finish from near the spot.
Bobby Boswell put away a header from a Lloyd Sam pass in the 62nd minute for United, which has lost five in a row.
The Colorado Rapids finally managed to earn a point on the road as Dominique Badji scored in the 76th minute to secure a 1-1 draw at Toronto FC.
After Jay Chapman scored for Toronto in the fifth minute, Badji beat Reds goalkeeper Clint Irwin with a low shot to the corner after Armando Cooper's giveaway near midfield.
Colorado had lost its first seven games away from home this season. Toronto remained unbeaten in 10 games at BMO Field, but its home winning streak ended at seven.
Justin Meram scored his career-best ninth goal of the season and Columbus Crew SC beat the Philadelphia Union 1-0.
Meram, whose previous single-season best was eight goals in 2014, scored in the 65th minute, when his shot deflected off the heel of defender Joshua Yaro into the net.
John McCarthy had five saves for Philadelphia, which had just three shots -- none on target. Columbus has won three of its last four, including back-to-back shutouts.
Benny Feilhaber scored a second-half penalty to help Sporting Kansas City to a 1-1 draw with Real Salt Lake, extending its unbeaten streak to seven games.
Luis Silva opened the scoring in the 43rd minute as Danilo Acosta played a long ball down the left sideline behind Joao Plata, who dropped it to Silva for the finish past the outstretched arms of Tim Melia.
Feilhaber drew a penalty in the area against Marcelo Silva and converted from the spot to make it 1-1 in the 59th minute.
Melia had five saves for SKC, which hasn't lost since May 27. RSL is unbeaten in its last three games and has scored 11 of its 28 goals this season over that span.
Information from The Associated Press was used in this report.
NYCFC 2-1 Chicago: 10-man NYC hold on
NYCFC went a man down early but netted two second-half goals to hold off the Chicago Fire.
New England 4-3 L.A.: Revs win barn-burner
New England outlasted the Galaxy in a 7-goal thriller to earn three points at home.
Minnesota 0-3 New York: Red Bulls rout
Minnesota's struggles continued as New York cruised to a comfortable 3-0 road win.
Montreal 1-2 FC Dallas: Colman's big night
Designated Player Cristian Colman scored his first two goals for FC Dallas, leading the Hoops past Montreal.
DC United 1-3 Houston: Dynamo dominate
Houston scored all three of their goals within the first twenty minutes of the match to pick up a road win over DC United.
Toronto 1-1 Colorado: Reds, Rapids share spoils
Jay Chapman and Dominique Badji bagged the goals as Toronto FC and Colorado split the points in Canada.
Columbus 1-0 Philadelphia: Deflection sinks Union
A Justin Meram shot deflected off Josh Yaro and propelled Columbus Crew SC to a narrow win over Philadelphia in Ohio.
Feilhaber levels from the spot - Via MLS
Major League Soccer: Benny Feilhaber (59') Real Salt Lake 1-1 Sporting Kansas City