Thousands of people filled the main square of this central Serbian city today to call for the removal of Yugoslav President Slobodan Milosevic and his government in the first mass opposition demonstration since the beginning of the war in Kosovo.

His voice choking with emotion, Mayor Velibor Ilic received a hero's welcome as he reappeared in public after 43 days in hiding because of his criticism of the war and Milosevic. Ilic, a member of an opposition party, told the crowd that Milosevic had brought shame and ruin to Serbia and that he should be ousted immediately and replaced by a transitional government with open elections to follow.

Each time the mayor uttered Milosevic's name, the crowd booed, whistled and shouted, "Resign!" Other speakers, including a former general in the Serb-led Yugoslav army, said that Milosevic -- who has been indicted by the U.N. war crimes tribunal in The Hague -- should be brought to justice here. He need not fear NATO, the general said, "but his own people."

Today's demonstration, still considered an illegal gathering under lingering wartime regulations, was a significant act of defiance against the Serb-controlled Belgrade government. Still, it did not attract the endorsement of Serbia's larger opposition parties, whose leaders have been more cautious about confronting Milosevic since the end of the war.

The promoters of the demonstration promised more protests in other Serbian cities, such as Novi Sad, Nis and Kragujevac, which are controlled by opposition parties. Politicians in those cities have been urging the West to support their reform programs, and more importantly, to find a way to help them repair war damage without giving money directly to the Milosevic government.

Police generally stood by as the demonstration ran its course, but they did prevent several busloads of protesters from entering the city. At one checkpoint, protesters trying to attend the rally got out of their bus and staged an impromptu takeover of the road, marching hand in hand. Leaders of the demonstration said that some of the stranded protesters were given rides into town in Yugoslav army trucks -- not a good sign for Milosevic's military, which last week had to endure a spontaneous blockade of roads in southern Serbia by angry army reservists who demanded to be paid back wages for their service in Kosovo.

Today's protest was peaceful, marred only by the harmless explosion of a concussion grenade at the edge of crowd. State-controlled television made scant mention of the demonstration, reporting that 2,000 people attended and identifying most of them as opposition party activists from outside Cacak. Organizers claimed that as many as 10,000 took part; neutral observers estimated the size of the gathering at somewhere between those figures and noted that many participants were from Cacak.

NATO leaders had been hoping that their 78-day bombing of Yugoslavia -- and the destruction, anger and demoralization it caused -- would trigger a popular uprising against Milosevic and his government, which is accused of carrying out a campaign of expulsion, looting and murder against the ethnic Albanian majority in Kosovo, a province of Serbia, Yugoslavia's dominant republic.

But most political leaders here, including those in the opposition, do not think that Milosevic can be easily toppled. Anti-Milosevic demonstrations by tens of thousands of people angered by government electoral fraud rocked Belgrade during the winter of 1996-97 but failed to unseat the president.

Perhaps with an eye toward today's demonstration, Milosevic issued a statement promising reforms and closer ties with the same Western democracies that have branded him a war criminal and vowed not to spend any money helping him rebuild his country. The Yugoslav president also pledged that every home, road and bridge damaged in the war would be rebuilt.

Milosevic should never be counted out, say analysts familiar with his political contrivances. In the past decade, he has survived the breakup of the old Yugoslav federation, two bitter ethnic wars on his borders and one inside them, rampant inflation, a U.N. economic embargo and 11 weeks of NATO bombing.

In addition, the opposition remains fragmented. The organizers of today's demonstration belong to Alliance for Change, an umbrella group of small, squabbling parties that have not previously succeeded in gaining widespread support -- or votes. Vuk Draskovic, leader of the Serbian Renewal Party and the most powerful potential challenger to Milosevic has so far declined to support mass anti-Belgrade rallies and did not attend today's.

Draskovic's party controls the Belgrade municipal government and holds 45 seats in the Serbian parliament, making it the third-largest after Milosevic's Socialist Party and the ultranationalist Radical Party.

The speakers at the Cacak rally not only attacked Milosevic, but also spoke of Serbian culpability in the atrocities committed against ethnic Albanians in Kosovo. "He has to go!" shouted Vuk Obradovic, the retired general and now a leader of the Social Democratic Party, one of a handful of opposition groups that sponsored the rally. "He has to go because of what he still can do to us because of his paranoid fantasies. And quickly. Because we'll only have new disasters with him."

Obradovic thanked the Yugoslav military and Serbian police for defending the nation and declared that the armed forces "know we are not traitors" for staging a rally against Milosevic.

Milan St. Protic, a well-known Serbian intellectual, told the crowd that "this regime shamed us and made us ashamed of ourselves. . . . They did evil against those who live by our sides, and they never asked us" -- a clear reference to Kosovo. "Now we have to apologize to the whole world -- not for what we did, but for what was done in our name."

The most emotional moment of the day came with the emergence of Mayor Ilic from his 43 days hiding in a nearby village. Ilic's odyssey began during the NATO air campaign, when he demanded that the army remove tanks from a residential area of Cacak. NATO bombs later exploded in the neighborhood, killing four people. When Ilic spoke of his anger and frustration on Radio Free Europe, the army surrounded his home, and he went into hiding.

It was clear today that Ilic is beloved in Cacak and that Cacak is an unusual place. Many of its businesses have been privatized, and the city and surrounding urban area of 120,000 people have not supported Milosevic in years.

Slobodan Jovanovic, an employee at a local state bank, said the people of Cacak looked toward the West for help and for models of a democratic, market-based society. Asked about the rampages by Serb-led security forces in Kosovo, Jovanovic said: "I don't feel guilty, but I do feel ashamed."

CAPTION: A concussion grenade disperses a crowd of demonstrators at an anti-Milosevic rally in downtown Cacak. No one was reported injured.

CAPTION: Demonstrators in Cacak, Yugoslavia, take part in the first protest rally against the Serb-led regime since before Kosovo conflict.