However, Quincy Amarikwa put the Fire ahead two minutes later as he controlled a loose ball in the box and buried a left-footed shot into the bottom corner.
Silva took the penalty and this time found a way past Johnson, despite him getting a hand to the ball.
Johnson kept his side in the lead just before the break as Michael Seaton got a glancing header to Silva's free kick and the keeper was forced to get down low to make the stop, and gather at the second attempt on the line.
After the break, Silva scored an equaliser for his side when he found the net with a unstoppable free kick from distance, as his effort sailed into the top corner past Johnson.
United completed the turnaround when Bobby Boswell fired them ahead from close range after Chicago had failed to clear the danger in their own box from a free kick into the area.
The Fire managed to salvage a point when Amarikwa teed up Matt Watson on the edge of the area, and his strike found its way past Hamid with the aid of a deflection.