Catherine Masters squeezed the prince's hand to see if he was real
A 109-year-old woman wrote to the Queen to complain about the birthday cards she received and Prince William turned up by surprise to apologise.
Catherine Masters from Oxfordshire wrote to say the Queen was wearing the same outfit in each of the five congratulatory cards she had received.
The Prince visited Ms Masters at her nursing home and said his grandmother would change her outfit this year.
The two chatted over tea after Ms Masters got over her "total shock".
The great-grandmother told the Prince the Queen needed to find some new outfits.
Wendy Mead, a senior nurse manager at the Grange care centre in Stanford in the Vale, said she was not expecting the Royal visit.
"We received a call and within five minutes, Prince William had arrived," she said.
"It was a total shock, and Catherine was speechless. Prince William came in and she asked if he was real. She squeezed his hand to check."
They chatted about the Prince's great-grandmother, the Badminton horse trials and his cooking.
"He told her he liked making shepherd's pie and said he used a masher to mash the potatoes, but she told him he was doing it wrong - he should use a fork to fluff the potatoes," Ms Mead said.
Catherine Masters has now been invited to a garden party with the Queen at Buckingham Palace on 7 July.
"She's off to buy a new dress and hat," Wendy added.