Judges at the prestigious Berlin Film Festival have split the best actress prize between two performers.
Theron also scooped a Golden Globe for her role in Monster
Awards went to both Sandlino Moreno for Maria Full of Grace and Charlize Theron for Monster.
Head On took the Golden Bear for best film, South Korean Kim Ki-duk won best director for Samaritan Girl and actor Daniel Hendler won for Lost Embrace.
Other films had been considered favourites, but the Berlinale jury is renowned for unpredictability.
Head On was the first German film to win in Berlin since 1986.
A joint German-Turkish production, it chronicles the life of Sibel, a young German born to Turkish parents who escapes her conservative Muslim family by marrying a heavy-drinking punk.
A total of 23 films had been entered for competition in the nine-day festival which also screened many more.
The awards jury, led by Oscar-winning actress Frances McDormand, awarded the Silver Bear film award to Lost Embrace, which tells the story of a young Argentine Jew trying to get to Europe.
BERLIN FILM FESTIVAL PRIZES
Best film: Head On
Best director: Kim Ki-duk (above), Samaritan Girl
Best actor: Daniel Hendler, Lost Embrace
Best actress: Sandlino Moreno, Maria Full of Grace
and Charlize Theron, Monster
Kim's film, Samaritan Girl, looked at a teenage girl's sexual exploitation and the murderous rage it induces in her father.
Theron, whose portrayal of serial killer Aileen Wuornos has also won her an Oscar nomination, was seen to be up against Australian actor Cate Blanchett in The Missing and Frenchwoman Julie Delpy in Before Sunset.
Earlier, the festival's director Dieter Kosslick had praised Before Sunset - but he was not on the jury for the Golden Bear best film award.
"If I could, I'd show this movie every night," Kosslick told film magazine Variety.