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 he career she had been living in Detroit with “$35 in my pocket” and was repeatedly being rejected from auditions for “not being pretty enough”.
Then, during an audition as a backing dancer for a French disco performer, she decided to sing Franklin’s (You Make Me Feel Like) A Natural Woman.
This led to her going to Paris and acted as a launchpad for her career, she said.
Key winners from the VMAs
Video of the year – Camila Cabello, Havana
Video with a message – This Is America, Childish Gambino
Artist of the year – Camila Cabello
Song of the year – Rockstar by Post Malone
Push artist of the year – Hayley Kiyoko
Best pop – No Tears Left To Cry by Ariana Grande
Best hip hop – Chun-Li by Nicki Minaj
Best Latin – Mi Gente by J Balvin and Willy William
Song of summer – I Like It by Cardi B, Bad Bunny & J Balvin
Best new artist – Cardi B
Best collaboration – Jennifer Lopez ft DJ Khaled and Cardi B, Dinero