The Trolls are always happy, and the Bergens are always miserable unless they eat the Trolls.
Poppy (Anna Kendrick) and Branch (Justin Timberlake)set off to save their friends, but they get sold out by Creek, a cowardly Troll who wants to avoid getting eaten. With the help of Bridget (Zooey Deschanel), the kindly Bergen scullery maid, the Trolls escape, but Poppy wants to help the Bergens find happiness. She convinces King Gristle (Christopher Mintz-Plasse) that he was happy when he went on a date with Bridget, meaning they don't need to eat Trolls to be happy. The Bergen Chef and Creek are both banished from their homes and get eaten by a giant monster.
The Trolls and Bergens are now friends, Poppy becomes queen, and Branch is happy once again.