| Follow us on Twitter |
Elton John, a good friend of the princess who sang at her funeral, kicked off the show with a rendition of 'Your Song' in front of giant black and white photographs of Diana beamed on to the stage backdrop.
He was followed by veterans Duran Duran, younger acts The Feeling, Fergie from the Black Eyed Peas, Lily Allen, US rapper Pharrell Williams and The English National Ballet, a favourite of Diana's.
The princes organised the event to mark the 10th anniversary of their mother's death and to celebrate her humanitarian work, which they felt had been forgotten amid negative press.
"After 10 years there's been a rumbling of people bringing up the bad and over time people seem to forget or have forgotten all the amazing things she did," William said before the gig, the proceeds of which go to charity.
Fans at the newly refurbished Wembley stadium agreed.
"I camped out in London for her funeral, so I really wanted to be here today. She was a caring person who always thought of others," said Julie Rocks.
Hollywood actor Kiefer Sutherland called Diana a "great icon of giving", while the princes praised their mother on what would have been her 46th birthday.
"This evening is about all that our mother loved in life - her music, her dance, her charities and her family and friends," William, 25, said, to a standing ovation.
Prince Harry, 22, paid tribute to his fellow soldiers serving in Iraq.
The third in line to the throne had been due to be deployed in Basra this year, but military commanders decided against sending him there, deeming it too dangerous.
"I wish I was there with you. I'm sorry I can't be ... stay safe," he said. © 2007 Australian Broadcasting Corporation