MLS: Orlando City 0 DC United 1
Orlando dominated the first half but could not break down their visitors' defence at the Citrus Bowl with Hamid standing strong in DC's goal.
The home side were made to rue their profligacy in second-half stoppage time too, with Silva scoring from a direct free-kick after replacing Chris Rolfe with just 14 minutes remaining.
Silva's strike was too strong for Orlando keeper Donovan Ricketts and condemned the MLS rookies to their second straight loss at home.
Orlando dropped to fourth in the Eastern Conference with five points, while DC (nine points) moved top of the table, with New York Red Bulls (seven) not in action this weekend.
Hamid made five saves for the game, including sharp one-on-ones against Rafael Ramos and Kevin Molino in the first half, with Orlando finishing the match with 17 shots to DC's 11.
But the capital club came into the match more in the second half, and they should have taken the lead just after the hour mark.
Conor Doyle saw his effort saved by Ricketts, Brek Shea acrobatically blocked Chris Pontius' rebound shot on the line, before Doyle's follow-up header was tipped away by the Jamaican keeper.
The match looked set to end scoreless but Silva curled a free-kick around the wall and into the bottom corner of the net in the 91st minute, with Ricketts getting a hand on the ball but unable to parry it clear.