The fire broke out at the packed Utopia club on Saturday night, apparently after a party stunt performed by an entertainer went disastrously wrong.
Utopia staff told local media that the man had sprayed an aerosol into the air and then lit the gas with a cigarette lighter. The plume hit the ceiling, they said, the fire started and smoke quickly engulfed the building.
The head of Peru's fire brigade, Tulio Nicolini, said the disco did not comply with safety standards and that there were no marked emergency exits, fire extinguishers or a fire alarm.
The Mayor of the neighbourhood, Carlos Dargent, said the discotheque was illegal and the building, which was in the Jockey Plaza shopping centre, was unlicensed.
Peruvian President Alejandro Toledo has also weighed into the row over the upmarket nightclub, which attracted Lima's wealthy youth.
"We will firmly punish with all the weight of the law the irresponsible people who operated this nightclub despite not having a license," he said.
Stampede
Authorities said there were about 1,000 revellers in the club at the time, although its capacity was meant to be 400.
Local media said there was complete panic in the club, with people throwing alcohol rather than water on to the flames, causing the fire to spread.
"It all happened incredibly quickly, everything happened in a matter of seconds. It was so fast people didn't realise," said an eyewitness.
He said some people jumped from the second floor trying to flee the blaze.
Peruvian radio said there was a stampede during the rush to escape from the building.
More than 40 people were injured, Lima fire department said. Many of those who perished died in hospitals around the city over the weekend.
A lion and a tiger which were on show in cages in the club also died in the blaze.
The fire has left Lima reeling, being the second major blaze to hit the city in less than a year.
Last December, more than 300 people were killed when fireworks sparked a blaze at another shopping centre in the city.