Benny Feilhaber gave visitors New England a surprise lead in the 45th minute, but Columbus were a greater force after half-time and an own goal from Kevin Alston brought them level after 54 minutes, the defender chipping the ball in under pressure.
AJ Soares missed from barely a yard at the other end, hitting the bar, and Columbus made sure they took advantage, going in front when Julius James headed in from a corner in the 75th minute, and stretching their lead when Emilio Renteria was left unmarked in front of goal six minutes later.
Freddy Adu made his debut for Philadelphia Union , who remain second despite being held 2-2 at home by FC Dallas.
Dallas went ahead when Macon Santos scored after 16 minutes, and although Sebastien Le Toux levelled with a penalty in the 33rd minute, the visitors led again when Brek Shea netted just before half-time.
Le Toux rescued a point for Dallas with another penalty, four minutes from the end. Dallas had been down to 10 men from the 81st minute, after George John was dismissed.
Henry netted a ninth-minute opener but New York were soon trailing, with Dominic Oduro (16) and Sebastian Grazzini (24) on target for Chicago.
Joel Lindpere drew New York level in the 64th minute, and they stand third in the Eastern Conference.
DC United are fifth, a point back, after a 4-0 win over the Vancouver Whitecaps, goals coming from Chris Pontius, who opened the scoring on the stroke of half-time and scored again after 70 minutes, as well as Andy Najar (48) and Stephen King (81).
The Colorado Rapids won 2-1 away to the San Jose Earthquakes, reacting to Joey Gjertsen's 22nd-minute opener for the hosts with a penalty from Caleb Folan in the 39th minute and a second goal from Jeff Larentowitcz in the 72nd minute. San Jose had San Cronin sent off on the 50-minute mark.
Toronto edged Real Salt Lake 1-0, with Joao Plata on target in the 77th minute, while the Seattle Sounders, third in the Western Conference behind the Los Angeles Galaxy and FC Dallas, drew 0-0 at home against Chivas USA.