Britain's Prince Philip has undergone a successful heart procedure, Buckingham Palace said after he was transferred to a cardiac unit in London.

Royal officials said the Duke of Edinburgh, as he is formally known, "underwent a successful procedure for a pre-existing heart condition at St Bartholomew's Hospital" yesterday.

"His Royal Highness will remain in hospital for treatment, rest and recuperation for a number of days," they added.

Prince Philip has now spent more than two weeks in hospital, his longest ever stay, raising fears for his health because of his advanced age.

He will turn 100 in three months' time, on 10 June.

The prince was first admitted to the private King Edward VII Hospital in central London on 16 February.

Buckingham Palace said initially that he was expected to stay there for a "few days" after walking in unaided.

Later, the palace said that he was being treated for an infection, without specifying further.

But on Monday, he was taken to the state-run St Bartholomew's Hospital near St Paul's Cathedral for testing and observation of a "pre-existing heart condition".

Philip had a stent fitted in 2011 after suffering a blocked coronary artery, undergoing treatment at the specialist Royal Papworth Hospital in Cambridge.

His daughter-in-law Camilla, Duchess of Cornwall, said yesterday that Philip was "slightly improving," but "hurts at moments".

"We keep our fingers crossed," she added.

Queen Elizabeth II, who is 94, has herself continued her royal duties despite her husband's illness.

The couple have been married for more than 73 years.

Philip's illness comes as the royal family has come under fierce criticism from Prince Harry's wife Meghan Markle.

In a clip from an Oprah Winfrey interview to air Sunday in the US, Ms Markle accused Buckingham Palace of "perpetuating falsehoods" about her and her husband.

This came after Buckingham Palace said it was looking into a report in The Times newspaper on allegations of bullying by Ms Markle against members of household staff.