Waving banners reading "No Blood for Oil", "Make Love Not War," and "War? No Thanks!", politicians, students, housewives and pensioners marched through the city centre.The marchers demonstrated as light snow fell and some carried balloons picturing doves. Some students used large red vats as drums in a deafening protest.
"We are worried about our future and the future of our children," said protester Thomas Tieleman, carrying his young daughter on his shoulders. "We want to show that peace must be maintained with peaceful means," he added.
German Chancellor Gerhard Schroeder is one of the firmest opponents of a war against Iraq. Three of his cabinet, Development Minister Heidemarie Wieczorek-Zeul, Environment Minister Juergen Trittin and Agriculture and Consumer Protection Minister Renate Kuenast attended the rally.
Police said up to 500,000 people attended the rally, which led protesters through Berlin's landmark Brandenburg Gate and ended with a rally at a central intersection just a few hundred metres from parliament.
"We're packed in like sardines," organiser Kathrin Vogler said laughing, referring to the huge crowds which had swamped the streets. "It's a fantastic feeling."
Organisers had expected only 100,000 people.
"We welcome the government's clear position," said peace activist Malte Kreutzfeldt. "But the government is facing a lot of pressure from other states and from the opposition. The protests seek to strengthen the government not to back down."
At Germany's largest protest march so far, about 250,000 people demonstrated in the former capital of Bonn in the early 1980s against the deployment of missiles on German ground.