Ariana Grande appeared emotional as she won the best pop prize at the MTV Video Music Awards in New York.
She won for No Tears Left To Cry – her first single after a suicide bomber killed 22 people at her concert in Manchester in May last year.
Accepting the award, the 25-year-old singer thanked her family, fans and fiance Pete Davidson, who was in the audience.
She told him: “Thank you for existing”.
The pair publicly displayed their affection in a number of embraces on the red carpet before the show.
Cardi B opened the ceremony but disappointed fans on two fronts – one because she did not perform, and because she teased viewers by cradling what appeared to be a baby in a blanket, which in fact was a VMA Moonman award.
The new mother, who led the way in nominations with 10, welcomed daughter Kulture in July – her first child with Migos rapper boyfriend Offset.
Jennifer Lopez delighted viewers as she performed a medley of hits, including Jenny From The Block, Love Don’t Cost A Thing, and All I Have.
Her boyfriend, Alex Rodriguez, looked impressed as he held up his phone and recorded her performance.
The 49-year-old was awarded the Michael Jackson video vanguard award.
She received a standing ovation as she accepted the prize in her home town of New York.
“I grew up on MTV,” she said.
“This is a tremendous honour for me. It’s been an incredible journey of dreaming my wildest dreams when watching them come true.
“Music, acting, performing, this career has always been kind of an obsession for me.”
Madonna paid tribute to Aretha Franklin, describing her as “one of the greatest soul singers that ever lived”.
But the star, who recently celebrated her 60th birthday, may have got the tone wrong.
Her tribute was not well received by some viewers – who accused her of making it about herself.
She said at the start of her career she had been living in Detroit with “$35 in my pocket” and was repeatedly being rejected from auditions for “not being pretty enough”.