Modi was elected by a landslide in 2014 but he and his Hindu nationalist Bharatiya Janata Party (BJP) have faced accusations from opponents that they are failing to protect minorities. He is on a three-day visit to Britain which will include talks with Cameron, lunch with Queen Elizabeth II and a rally with supporters at Wembley Stadium.
Modi was effectively banned from Britain until three years ago over anti-Muslim riots which killed more than 1,000 people in 2002, when he was chief minister of Gujarat state. He has always denied any responsibility. Nirmala Rajasingam, one of the protest organisers, said: "We have been protesting against the Modi government for a very long time because the matters of the Gujarat atrocities have not been settled yet.
"Signs of religious antipathy have been there for a long time but since the BJP took power, it's gone to a new high. There is a very specific project that they are pursuing to make India a country for Hindus only." Another protestor, Thaman Singh Sidhu, added: "The Sikh community, the Muslim community, all minorities feel threatened he has never condemned anything."