"We must never forget what happened here," he said of the shooting of nearly 1000 peaceful Indian protestors by British troops on the orders of General Reginald Dyer.
"This was a deeply shameful act in British history, one that Winston Churchill rightly described at that time as 'monstrous.' We must never forget what happened here and we must ensure that the UK stands up for the right of peaceful protests," Mr Cameron wrote in the visitors' book at the memorial site. Before that, he paid his respects at the at the holiest shrine for the Sikh religion, the Golden Temple.
Mr Cameron's three-day visit to India has focused heavily on the potential of Indo-British ties, particularly business collaborations.
Yesterday, he met with Prime Minister Manmohan Singh in Delhi and promised cooperation in an inquiry to determine if massive kickbacks were paid by Anglo-Italian venture AgustaWestland to sell 12 helicopters to Delhi in 2010.
Mr Cameron is the first UK prime minister to voice regret over the Jallianwala Bagh shooting.
In 1920, Winston Churchill, then the secretary of state for war, called the Amritsar massacre "a monstrous event", saying it was "not the British way of doing business".
On a visit to Amritsar in 1997, Queen Elizabeth called it a distressing episode, but said history could not be rewritten. However, her husband, Prince Philip, delivered a massive controversy by opining that the death count of the shooting had been "vastly exaggerated."
Before he became prime minister, Tony Blair said the memorial at Amritsar was a reminder of "the worst aspects of colonialism".