British singer Ed Sheeran made a teenage fan's dreams come true by playing a private gig for her before she lost her battle with cancer.

Abigail Fleming, 14, made a 'bucket list' of all the things she wanted to do after learning her cancer was terminal, and revealed she wanted to see Sheeran play live.

The star recorded a special video message to boost Fleming's spirits and even offered her a VIP trip to one of his concerts, but as Fleming was too ill to attend, he sang for her at her bedside at the Bluebell Wood Children's Hospice in Sheffield, England before her passing in April.

The teen's mom Maria tells Britain's The Sun, "She really loved it. He didn't just make her day, it made her life. He was a complete gentleman. He flew in from Paris to London and then caught the train to Sheffield.

"Abigail gave him a card and a keyring to say thank you. He gave her a bracelet which somebody had given him for his 18th birthday."