The uprising started when a local radio station began broadcasting in Czech, which had been banned under the German occupation. People poured out of their houses and began vandalising German signs, buildings and other manifestations of the occupation. By noon, the radio was calling on the police to join the resistance and confront SS forces, which were beginning to mobilise in response. By the end of the day, the resistance had seized the eastern part of the city.

With the Germans mobilising to put down the uprising, the radio station called on people to build barricades throughout the city, which they did and as a result slowed down the German advance. An SS General ordered the Luftwaffe to set the city on fire, but this order could not be carried out after fuel shortages grounded most of the available aircraft. One attack that did occur was on the radio station, and while this took out the transmitter the station continued to air from other locations across the city.
The stiff resistance from locals was enough to hold up the German advance long enough for the Soviet Red Army to enter the city and engage with the occupying forces.
The Germans surrendered on the morning of 7 May, however the agreement did not cover German forces fighting the Red Army and fighting continued for another 48 hours before there was a total and final German surrender.