Bangladeshis working in factories making clothing for the brands, all three of which sponsor the Olympic Games that begin in London on July 27, reported being beaten, verbally abused and sexually harassed, The Observer said.
"In one Puma supplier, two thirds of the workers interviewed had been beaten, slapped, pushed or had their hair pulled," the newspaper said.
Many female workers in a factory supplying Adidas said they were made to remove the dupatta, or scarf, they wore to cover their breasts, added The Observer, which produced the investigation with the charity War on Want.
Workers producing garments for all three brands had to work illegally long hours for less than the minimum wage, the report claims.
As the official outfitter for the Olympic Games, Adidas is supplying uniforms for the British team designed by Stella McCartney.
Nike reportedly sponsors several national teams, including the US, China, Germany and Russia, while Puma sponsors Jamaican sprinter Usain Bolt as well as several national teams.
"If companies want to benefit by sponsoring teams, athletes and the Games, they must ensure their workers are treated with respect," said Greg Muttitt, campaigns and policy director at War on Want.
A Nike spokeswoman said the company was investigating the allegations. "Nike takes working conditions in our contract factories very seriously," she said.
Adidas said its suppliers in Bangladesh were subject to regular audits, adding that it had identified "critical issues" relating to working hours and wages at one of the factories last year.
The underpayment of minimum wages had been resolved at the factory, Adidas told The Observer.
The brand said it was "deeply concerned about reports of harassment or physical abuse of workers" and would launch an immediate investigation to verify the allegations.
Puma said it had found evidence of illegal overtime in one of its supplier factories, which had pledged to tackle the problem. The brand said it found no evidence of other breaches of the law.
What the stars mean:
★ Poor ★ ★ Promising ★★★ Good ★★★★ Very good ★★★★★ Exceptional