Ben Affleck's Iran hostage crisis drama "Argo" won the coveted best film Oscar on Sunday at the climax of the 85th Academy Awards, Hollywood's biggest night which saw many movies honored.
Taiwan-born Ang Lee won best director for spectacular 3D fantasy "Life of Pi," Daniel Day-Lewis took home his third best actor trophy for "Lincoln" and Jennifer Lawrence was crowned best actress for "Silver Linings Playbook."
But veteran filmmaker Steven Spielberg, whose presidential drama had the most nominations with 12 nods, went home without either of the top awards -- best picture or best director.
Overall, "Life of Pi" won most Oscars with four awards, against three for "Argo" and "Les Miserables," two each for "Django Unchained" and "Lincoln," and one for "Zero Dark Thirty."
The show was heavily musical: British singer Adele sang Oscar-winning 007 theme "Skyfall" as part of a segment feting 50 years of Bond films, and legendary diva Barbra Streisand sang "The Way We Were" in her first Oscars performance for 36 years.
There were also performances from the cast of multiple-nominated "Les Miserables," including best supporting actress winner Anne Hathaway, and from "Chicago," on the 10th anniversary of its best picture Oscar win.
Affleck, whose movie had taken virtually all of the top prizes during Hollywood's awards season, paid tribute to Spielberg as a "towering" talent in the movie industry.
In an unexpected move, the best picture winner was announced by First Lady Michelle Obama, addressing the Oscars show -- and final presenter, legend Jack Nicholson -- by videolink from the White House.
"Hunger Games" star Lawrence got a standing ovation as her award was announced, over fellow nominees Jessica Chastain, French star Emmanuelle Riva, Naomi Watts and nine-year-old Quvenzhane Wallis, the youngest ever nominee.
Day-Lewis, who had been widely expected to win best actor, appeared to fight back tears as he took the stage -- and then joked as he was handed the golden statuette by Meryl Streep.
"Three years ago, before we decided to do a straight swap, I had been committed to play Margaret Thatcher," he said, referring to Streep's Oscar-winning performance as the former British premier in "The Iron Lady."
"Meryl was Steven (Spielberg)'s first choice for 'Lincoln," he said, to laughs from the assembled A-listers at the Dolby Theatre in Hollywood. "And I'd like to see that version."
Austrian director Michael Haneke's Cannes-winning "Amour" won the best foreign language film prize at the Oscars, widely seen as the most unpredictable for years.
Best supporting actor went to Austrian Christoph Waltz, who played a dentist turned bounty hunter in Quentin Tarantino's blood-spattered spaghetti western tribute "Django Unchained." Tarantino won for best original screenplay.
The best animated feature film award went to Scottish-themed "Brave," which beat fellow nominees including video game adventure "Wreck-It Ralph," which had been tipped as the marginal frontrunner.
The show included a tribute segment to the James Bond movies, with Adele's performance and legendary diva Shirley Bassey belting out the theme tune from "Goldfinger."
The star-studded and heavily musical show was preceded by a two-hour A-list fashion parade on the red carpet, with a healthy serving of old-school Hollywood glamour on display.
"Family Guy" creator MacFarlane started with a joke about Affleck, who -- despite his win's ultimate triumph -- failed to win a best director nomination, quipping that he was "unknown to the Academy."
Affleck -- the first person to win best picture without being nominated as director since "Driving Miss Daisy" in 1990 -- had been given a diplomatic boost Saturday when new US Secretary of State John Kerry tweeted best wishes.
Although he started the season two months ago as the favorite, Spielberg had to settle with Day-Lewis's best actor Oscar, which had been widely expected.