He may have gripped the nation with his struggles to look after four kids, hold down a supermarket job and raise a family on £80 a week, during a reality TV show last year.

But it seems top Tory Michael Portillo's generous spirit may have only been for the cameras, after it emerged he accepted up to £5,000 to speak at a charity ball for dying children.

Mr Portillo was paid for his appearance at the annual ball, held at the Dorchester Hotel, to raise money for the Shooting Star Hospice in Hampton last November.

On top of his £55,000 MP's salary, Mr Portillo earns up to £370,000 from journalism, TV appearances and other engagements.

MPs must declare payments above £500 to Parliament, but do not have to reveal the exact amount.

Twickenham MP Vincent Cable blasted Mr Portillo, calling his behaviour "absolutely disgraceful".

He said: "Most people in public life would be happy to support a deserving and popular charity for nothing."

The ball, organised by the Sparkle Ball fundraising committee which footed Mr Portillo's bill, raised £100,000 for the charity.

Committee member Susan Leece-Roberts said Mr Portillo worked very hard on the night, greeting guests, making a speech and giving presentations.

Mr Portillo was unavailable for comment.