The contest started in an open fashion with both sides enjoying early periods of possession in the opposition's half.
However, it was the hosts who took the lead in the 19th minute when Dwayne De Rosario converted an inviting cross from close range after good work by Chris Pontius.
On the stroke of half-time, Chicago's Dan Paladini collected a pass from Marco Pappa before stroking the ball past Bill Hamid, but the match was not level for long.
In first-half stoppage time Andy Najar delivered a high cross to the back post and Lionard Pajoy met the ball with a powerful header to put DC United ahead once again.
The home side extended their lead six minutes into the second half when Brandon McDonald found space inside the box from a corner and headed past Sean Johnson to make it 3-1.
DC United had numerous chances to put the result beyond doubt but they were made to rue their missed opportunities in the 75th minute when Gonzalo Segares headed in a Pavel Pardo cross to force a dramatic finish to the match.
Despite Chicago putting plenty of pressure on the DC defence in the closing stages, the hosts were able to confirm victory in stoppage time when substitute Long Tan finished well inside the box.