Glamour was shot through with grit at the British Academy Film Awards on Sunday.
Frothy musical "La La Land" took five prizes including best picture, but major awards also went to tough welfare-state drama "I, Daniel Blake" and fractured-family stories "Lion" and "Manchester by the Sea."
In keeping with an awards season that has coincided with a wrenching change of government in the United States, even "La La Land's" prizes came with a political tinge.
Accepting the best-actress trophy for playing a barista who dreams of Hollywood stardom, Emma Stone said that "this country and the US, and the world seems to be going through a bit of a time."
She said that in a divided world, it was vital to celebrate "the positive gift of creativity and how we can transcend borders and how we help people to feel a little less alone."
The U.K. awards, known as BAFTAs, are often seen as an indicator of who will win at Hollywood's Academy Awards, held two weeks later. "La La Land" already is a dominant force at the Oscars, with 14 nominations. It also has won seven Golden Globes.
"La La Land" had 11 nominations for the British awards and won prizes for Stone, director Damien Chazelle, music and cinematography as well as best picture.
But while the luscious musical was an academy favorite, voters also rewarded less escapist fare.
Stone's co-star, Ryan Gosling, lost out on the best-actor prize to Casey Affleck, who played a grieving handyman in "Manchester by the Sea."
Affleck, who is also Oscar-nominated for the role, thanked writer-director Kenneth Lonergan for creating a film that "dignifies everyday lives and their struggles with great compassion."
The wintry New England drama also won Lonergan the prize for best original screenplay.
British actor Dev Patel pulled off an upset, beating favorite Mahershala Ali, from "Moonlight," to the best supporting actor trophy for "Lion," about a young man who goes searching for the Indian family from which he was separated as a child.
The London-born Patel expressed shock at being a winner at a ceremony he used to watch on TV with his family.
He said "Lion," which co-stars Nicole Kidman is "a film, about family, about a love that transcends borders, race, color, anything."
The "Slumdog Millionaire" star thanked his "amazing team, who had the insane task of trying to get this Indian dude, this noodle with wonky teeth and a lazy eye and floppy hair, work in this industry."
"Lion" also took the BAFTA for best adapted screenplay.
Ken Loach's "I, Daniel Blake" was named best British film. The 80-year-old director used his acceptance speech to lambast the country's Conservative government.
Loach said his docudrama about a carpenter trying to get welfare after a heart attack shows that "the most vulnerable and the poorest people are treated by this government with a callous brutality that is disgraceful."
Loach apologized for making a political speech, but told reporters backstage that "you can't do a film like this and then talk showbiz."
Loach was cheered by an audience at London's Royal Albert Hall that included Prince William, his wife, Kate, and nominees including Meryl Streep, Casey Affleck, Emma Stone and Nicole Kidman.
Both William and Kate wore black and white - he a tuxedo, she an off-the-shoulder Alexander McQueen gown and glittering chandelier earrings.
Viola Davis won the supporting actress BAFTA for "Fences," Denzel Washington's adaptation of August Wilson's stage drama about an African-American family.
A visibly moved Davis praised Wilson's play for showing "that our lives mattered as African Americans."
"The horse groomer, the sanitation worker, the people who grew up under the heavy boot of Jim Crow," she said. "The people who did not make it into history books, but they have a story - and those stories deserve to be told."
Ada DuVernay's film about mass incarceration in America, "The 13th," was named best documentary, and Laszlo Nemes' unbearably powerful Holocaust drama "Son of Saul" took the trophy for best foreign-language film.
The stars brought a dose of glamour to gray, wintry London, as hundreds of fans lined the red carpet outside the domed concert hall beside London's Hyde Park.
Many said they were unsurprised politics made a guest appearance at the ceremony, as it has so often this awards season. Streep is among the stars who have used the awards stage to criticize President Donald Trump.
Master of ceremonies Stephen Fry joked about Trump's dismissal of Streep as overrated, declaring from the stage: "I look down on row after row of the most overrated people on the planet."
Prince William, who serves as president of Britain's film academy, presented the academy's lifetime-achievement honor to veteran comedian Mel Brooks at the end of Sunday's ceremony.
The 90-year-old entertainer said he would treasure the trophy.
"This is one of the awards you will not see on eBay," he said.