Austrian film The White Ribbon has won the Palme d'Or, the main prize at the Cannes Film Festival.
Director Michael Haneke's work saw off competition from past winners including Britain's Ken Loach and Quentin Tarantino's Inglourious Basterds.
Fellow Austrian Christoph Waltz won best actor for playing an SS officer in Tarantino's World War II epic.
Charlotte Gainsbourg was named best actress for her role in Lars Von Trier's controversial film Antichrist.
The Danish film-maker's work did not go down well due to its brutal and frank scenes of domestic violence.
Gainsbourg, the 37-year-old daughter of French musician Serge, said she wanted to share her honour with Von Trier, calling the making of the movie "the most intense, the most painful, and most exciting experience of my life".
The prize for best director was awarded to Brilliante Mendoza of the Philippines for his dark film Kinatay.
British film-maker Andrea Arnold jointly won the jury prize for her film Fish Tank, the second time she has won the Cannes honour.
South Korean director Park Chan-Wook shared the prize with Arnold for Thirst, about a priest-turned-vampire.
Haneke's film, shot in black and white, studies the chilling, malicious atmosphere gripping a German village on the eve of World War I.
Other award winners included Portugal's Joao Salaviza for best short film and Chinese writer Feng Mai for best screenplay.
The award ceremony brings the Cannes Film Festival to a close, which has attracted film-making talent from Hollywood and around the world.
One of the biggest media draws was the red carpet appearance of Brad Pitt - star of Inglourious Basterds - along with his actress partner Angelina Jolie.