In the Open Cup final, United hosts Seattle, which scored late in regulation and again in overtime to beat Houston, 2-1.
A rather quiet and cagey first half produced few chances until the final minutes prior to the break. United keeper Milos Kocic turned away a sharp header by Rhinos captain Kenney Bertz, and D.C. launched a counterattack that produced a ball down the flank for Fred. Devon McTavish flicked Fred's cross off the arm of defender Ty Harden, and referee Abbey Okulaja whistled for a penalty kick. Moreno juked keeper Tim Melia the wrong way and duly scored for a 1-0 lead.
Pressure from the Rhinos as a light rain began to fall at the start of the second half left them open at the back, and nine minutes into the second half Mella repelled a hard shot from Moreno, who'd been set up by Khumalo. A few minutes later, Chris Pontius replaced Moreno, probably to save the veteran for a long road trip and a match in San Jose Saturday.
The change deprived United of some possession and a string of Rochester free kicks conceded eventually produced a goal when United to fail to clear a set piece and after the ball caromed off several players Atieno hit it past Kocic.
With eight minutes left, Pontius ran onto a long ball that bounced high over the Rhinos back line and nailed a hard shot that Melia saved. Khumalo followed up on the rebound and fired it low past Melia.
Khumalo suffered a broken wrist in the final minutes. He joined Rhinos midfielder Darren Kenton on the injured list; a slide tackle from John DiRaimondo shortly after the Rochester goal left Kenton hobbled with an ankle injury.
Kocic saved from substitute Kwame Sarkodie in stoppage time to preserve the victory and a chance to replicate its triumph in last year's Open Cup final, a 3-1 victory over Charleston at RFK.
U.S. Open Cup semifinal
July 21 in Boyds, Md.
D.C. United 2, Rochester 1.
Goals: Moreno (penalty kick) 40, Khumalo 82; Atieno 68.
D.C. United -- Kocic; John, Janicki, Namoff, McTavish, Jacobson, Wallace, Fred (DiRaimondo, 68), N'Silu (Gomez, 79), Khumalo, Moreno (Pontius, 58).
Rochester - Melia; Bertz, Sancho, Harden, Gregor, Ball, Earls (Heins, 37), Ambersley (Fitzpatrick, 53), Kenton (Sarkodie, 72), Short, Atieno.
Referee: Abbey Okulaja