Despite going into the final as the fastest qualifier, the 22-year-old was not considered the favourite because she had primarily been a relay swimmer.
But she won her first individual title — Denmark's first gold in Rio — in grand style, getting her hands on the wall first after a blanket finish.
She made a flying start off the blocks and held on grimly in the final few metres to win the single-lap sprint in a time of 24.07 seconds.
Blume became just the third Danish women to win an Olympic gold medal in swimming and the first since Greta Andersen won the 100m freestyle and Karen Harup took the 100m backstroke at London in 1948.
Standing 1.71 metres tall, Blume briefly gave up the sport after being told she was not tall enough to succeed in her favourite event.
“I enjoy swimming the 50m free, it's so much fun but I'd always been told I'm too small to be a 50m free swimmer and I should probably be a 200m swimmer,” Blume said.
“So I had to take a break from all this and just figure out how I wanted things to go. If I was going to spend so much time doing this, I was going to enjoy it so that's why I came back.”
American Simone Manuel, who dead-heated for gold in Thursday's 100m final and won a second gold in the medley relay, collected the silver, just 0.02 behind Blume.
“The 50m free is a work in progress for me but just coming off the 100m I was pretty confident that hopefully I can get a medal,” Manuel said. “I was super excited with second pace and a best time, I couldn't really have asked for any better.”
Bronze went to Aliaksandra Herasimenia of Belarus, who was swimming from the outside lane.
Still ecstatic from the gold medal, Blume later claimed bronze in the 4×100 medley. The team of Blume, Mie Østergaard Nielsen, Rikke Møller Pedersen and Jeanette Ottesen finished behind the US and Australia with a time of 3:55:01.
Denmark's bronze medallist team Mie Nielsen, Rikke Møller Pedersen, Jeanette Ottesen and Pernille Blume pose during the podium ceremony of the Women's swimming 4 x 100m Medley Relay Final at the Rio 2016 Olympic Games at the Olympic Aquatics Stadium in Rio de Janeiro onSaturday. Photo: Odd Andersen/AFP/Scanpix