Tens of thousands of Bulgarians have taken to the streets, rallying for and against the embattled Socialist-led government, underscoring the widening political divide in the country.

At least 10,000 people gathered in the capital city of Sofia on Saturday in support of Prime Minister Plamen Oresharski of the Bulgarian Socialist Party, who despite months of demonstrations calling for him to resign, pledged to stay in power and push with reforms to help the most disadvantaged and raise incomes.

Meanwhile, at a separate rally in Plovdiv, Bulgaria's second largest city, thousands of supporters of the opposition GERB party (Citizens for European Development of Bulgaria) demanded government's resignation and early election, accusing the government of incompetence and graft.

The Socialist-led cabinet took office in May after a GERB centre-right government resigned, following mass protests over high utility bills and corruption. GERB won most votes at the May poll, but failed to form a government.

There was a heavy police presence to prevent clashes with and among football fans attending a nearby match between arch crosstown rival teams Levski and CSKA.

The cabinet has a shaky majority with the unofficial support of the nationalist party, Attack.

Many Bulgarians had hoped that joining the EU six years ago would bring prosperity to the former communist state and put an end to rampant corruption and organised crime. They are disillusioned with the entrenched political elites, which they believe work only for their own benefit.

The country is yet to put a senior government official behind bars for graft, while the average salary of 400 euros ($540) per month is the lowest in the 28-member bloc.

Opinion polls showed that five months after the early election, Bulgarians remain divided on whether the government should stay in power or resign.