The No Doubt star announced the news by sharing a photo to Instagram in which the couple are seen kissing as she holds up her new engagement ring.
She captioned the image: “Yes please!”
Stefani, 51, and her country music star partner, 44, have been together for more than five years after meeting while coaches on The Voice television show in the US.
Shelton shared the same photo with the caption: “Hey @gwenstefani thanks for saving my 2020… And the rest of my life.. I love you. I heard a YES!”
Famous friends congratulated the pair, with Ryan Tedder commenting: “WOWWWWWWW CONGRAAAAAATS.”
The official account of The Voice added: “THE BEST NEWS EVER EVER EVER EVER.”
The couple have repeatedly been the subject of engagement rumours.
Stefani has released several singles with Shelton, including Nobody But You, which reached number 18 on the Billboard Hot 100 earlier this year.
Stefani and former husband Gavin Rossdale, with whom she shares three sons, divorced in 2016.
Shelton was previously married to singer Miranda Lambert but they announced they were divorced after four years of marriage in July 2015.
Gwen Stefani and Blake Shelton announce engagement