Hours after Putin ordered his troops into Ukraine, Russians across the country took to the streets to slam his actions.
In the morning, Russian President Vladimir Putin had ordered what he called a “military operation” into Ukraine after months of tensions with Kyiv and its Western allies.
In a speech before the attacks began, Putin claimed he had been left with “no other option” but to invade Ukraine because “the war machine is moving and … coming close to our borders”, referring to NATO.
Russian forces attacked far beyond the conflict-ridden zones of eastern Ukraine, where Moscow-backed separatists run areas recently recognised by the Kremlin as independent, with air attacks hitting apartment blocks in Kharkiv and beyond.
By night, as Ukrainians fled to escape their country, thousands in Russia, where protests are tightly restricted, rallied in solidarity.
While East-West frictions grew over Russia’s military build-up at the Ukrainian border these past few months, dissent in the world’s largest nation was limited to a handful of one-person pickets.
Few here believed the standoff would actually lead to war.
But after Putin opened what has been described as one of Europe’s “darkest chapters” since the Second World War, dissent has sharply risen.
“I have no words, it’s just disgusting,” a young woman at the St Petersburg rally told Al Jazeera. “What is there to say? We feel powerlessness, anguish.”
She was among thousands of Russians across several cities who took to the streets to express their outrage; hundreds were arrested.
Earlier on Thursday, dozens of journalists, reporters and media figures, mainly from independent outlets as well as the BBC, signed a petition condemning Russia’s operation in Ukraine.
And more than a hundred municipal deputies from Moscow, St Petersburg, Samara, Ryazan and other cities signed an open letter to the citizens of Russia, urging them not to take part or stay silent.
“We, the deputies elected by the people, unreservedly condemn the attack of the Russian army on Ukraine,” the letter read. “This is an unparalleled atrocity for which there is and cannot be justification.”
In St Petersburg, protesters started gathering outside the historic Gostiny Dvor shopping arcade at about 7pm local time (16:00 GMT).
The atmosphere was tense, with a few people crying against the backdrop of a heavy police presence.
One woman held up a bouquet of balloons in the colours of the Ukrainian flag.
The crowds seemed to have little confidence their rare protests would change anything, but the rallies were cathartic for some.
“At least I’m not ashamed to be here,” one man said. “I was so ashamed this morning.”
“Hope? The only hope is us. While we are here there is still hope,” added a more optimistic attendee.