Cameron is the first serving British prime minister to visit the site of the Amritsar massacre, where 379 Indians seeking independence were shot by the British, The Guardian of Britain reported Wednesday.
After bowing his head at the memorial, Cameron called the shootings a "deeply shameful event" but didn't issue a formal apology on behalf of the government.
"I think the right thing is to acknowledge what happened, to recall what happened, to show respect and understanding for what happened," he said.
Cameron said the massacre occurred before he was born and the British government condemned it at the time.
Sunil Kapoor, who heads a victims' relatives group, said he wasn't satisfied.
"We have waited 94 years for justice," Kapoor said. "If he said it is shameful, why did he not apologize?"