Lampard at the double sends City top
The former Chelsea and England star stroked home the winning goal in the third minute of stoppage time to seal a dramatic win for City at Yankee Stadium.
The victory saw the big-spending New York club move to the top of the division with 44 points, one point clear of Toronto F.C.
Lampard, an increasingly influential figure for City after an injury-plagued start to his MLS career, had earlier given New York a 2-1 lead with his first goal on 85 minutes.
But a towering header from Lamar Neagle leveled it for D.C. United at 2-2, with the visitors poised for a share of the points.
However, Lampard's cleverly taken late strike ensured Patrick Vieira's side would take all three points as they head toward the post-season play-offs in style.
"We've been on the receiving end of some late goals and we've lost a few results late on in matches and I think that we deserved that one tonight," Lampard said afterward.
"Everyone knows that I was injured for the first half of the season. I wanted to come back from June to help and I've tried to do that. I think we're improving week on week."
Lloyd Sam had earlier given D.C. United the lead, rifling a low shot past goalkeeper Josh Saunders.
New York struggled to break down a well-organized D.C. defense, but were gifted a route back into the game in the 79th minute.
A terrible back pass from Sean Franklin sent City striker David Villa through on goal and the Spanish World Cup-winner tucked his finish between goalkeeper Bill Hamid's legs.