Thousands of people have marched in Moscow calling for peace in Ukraine and protesting against the role they accuse Russia of playing in the conflict.
Russian and Ukrainian flags were visible as organisers called for an end to what they called Moscow’s “aggressive and irresponsible” policies in Ukraine.
Slogans included “Stop Putin’s lies” .
Moscow has denied sending troops into eastern Ukraine and arming rebels.
Observers said at least 20,000 turned out; the police put the figure at 5,000.
“Stop this war, that’s our main goal,” said one woman who turned out to protest. “And also to show that our government, which is waging this war, doesn’t speak on behalf of all the people. Because there are Russians who are against this military intervention, who think that Ukrainians should decide their destiny for themselves.”
Similar protests were held in other Russian cities, including St Petersburg where 1,000 reportedly defied a ban by the authorities.
Also in Moscow a much smaller rally took place in support of the pro-Russian rebellion in Ukraine.
Demonstrators carried flags hailing “new Russia” and the self-proclaimed republics in Donetsk and Luhansk.
The conflict in Ukraine has seen President Putin’s popularity reach record highs.
“We don’t want the war, do you understand? The Ukrainian media are lying a lot, they pretend that Russia wants war. Bur Russia doesn’t want the war,” said a woman protester.
“And what does Russia want?” she was asked.
“Russia wants peace at last in Ukraine,” she replied.
Some critics have blamed what they see as anti-Ukrainian coverage among Russian state-controlled TV channels for a rise in nationalist sentiment.