The visitors had the first opening of the game as the ball fell kindly to Erick Torres from a clearance downfield and he raced to the edge of the box, but fired his early shot wide.
The home side came within inches of doubling their lead when Chris Korb lifted a cross to the back post for Johnson, but his header clattered off the crossbar.
Just before half time, DC hit the bar again when Eriq Zavaleta nearly put the ball into his own net when trying to stop Davy Arnaud's cross from reaching Nick DeLeon.
United did double their lead in the 59th minute when Johnson knocked a free kick into the path of Perry Kitchen, who placed the ball into the bottom corner with sublime left-footed volley.
The hosts all but secured the win as Korb released the run of Silva down the left channel and cut inside before beating Kennedy with a low curling shot.