Veteran gay rights advocate and award-winning actor Sir Ian McKellen has revealed that he has only met the Prime Minister once.

Speaking at Stonewall’s annual fundraising dinner at the Dorchester hotel in London, Sir Ian said the occasion was the celebration of the civil partnership ceremony of gay MEP Michael Cashman and his partner Paul Cottingham.

He told the 540 guests that he had worked with Mr Brown, Tony Blair and John Major on gay rights, but the most impressive was Mr Blair, who, three months before he took office, met with him and pledged to bring in a range of measures.

He recalled how many of John Major’s Tory colleagues were appalled that he had met with Sir Ian, who was a founder member of Stonewall.

The Lord of the Rings star spoke about the need to change society and not just the law, and lamented that many who are brave enough to be out on the gay scene still live closeted lives and careers.

Sir Ian criticised religious intolerance and said he had wanted Mehdi Kazemi to be his date for the Equality dinner, but he is still in custody in Holland.

19-year-old Kazemi, a gay Iranian who faces deportation to his homeland and possible execution because of his sexuality, is claiming asylum in the UK.

Sir Ian urged those present to help Stonewall’s work on homophobic bullying by returning to their past and contacting their old school to ask what they are doing to protect gay kids.

He finished by urging everyone to come out of the closet, particularly sportspeople.

The Stonewall Equality dinner was attended by politicians from all the major parties, among them Tory MPs John Bercow and Eleanor Laing, Treasury minister Angela Eagle, former Labour cabinet minister Lord Smith of Finsbury, Labour peer Lord Alli, Lib Dem MP Stephen Williams and that party’s candidate for Mayor of London, Brian Paddick.