TROSTYANETS, Ukraine — The last three Russian soldiers in this Ukrainian town are in the morgue, their uniforms bloodied and torn. The first one’s face is frozen in pain. The second has his wooden pipe in his lap. The third is stuffed in his sleeping bag.
These dead are not all that was left behind in Trostyanets, a strategically located town in the country’s northeast, where Russian forces fled several days ago in the face of an orchestrated Ukrainian assault. A monthlong Russian occupation reduced much of the town to rubble, a decimated landscape of mangled tank hulks, snapped trees and rattled but resilient survivors.
There are also stories, impossible to verify, highlighting the kind of hate left in an occupation’s wake and sharing a common thread of brutality: children held at knife point; an old woman forced to drink alcohol as her occupiers watched and laughed; whispers of rape and forced disappearances; and an old man found toothless, beaten in a ditch and defecated on.
“Oh, God, how I wanted to spit on them or hit them,” said Yevdokiya Koneva, 57, her voice steely as she pushed her aging bicycle toward the center of town on Friday.
Ukrainian forces are now gaining ground, as more than a month into the war Russian forces are pulling back from their positions north of Kyiv, even as Ukrainian soldiers are making progress here in the northeast. This area was supposed to be little more than a speed bump for a sprawling military campaign that would quickly take the country’s capital and leave the east in Russian hands.
Instead, a combination of logistics issues, low morale and poor planning among Russian forces allowed an emboldened Ukrainian military to go on the offensive along multiple axes, grinding down the occupying forces and splintering their front lines.
The Ukrainian victory in Trostyanets came on March 26 — what residents call “Liberation Day” — and is an example of how disadvantaged and smaller Ukrainian units have launched successful counterattacks.
It also shows how the Russian military’s inability to win a quick victory — in which they would “liberate” a friendly population — left their soldiers in a position that they were vastly unprepared for: holding an occupied town with an unwelcoming local populace.
“We didn’t want this dreadful ‘liberation,’” said Nina Ivanivna Panchenko, 64, who was walking in the rain after collecting a package of humanitarian aid. “Just let them never come here again.”
Interviews with more than a dozen residents of Trostyanets, a modest town of about 19,000 situated in a bowl of rolling hills roughly 20 miles from the Russian border, paint a stark picture of struggle and fear during the Russian occupation. The unrelenting violence from both Ukrainian and Russian forces fighting to retake and hold the town raged for weeks and drove people into basements or anywhere they could find shelter.
On Friday, dazed residents walked through the destroyed town, sorting through the debris as some power was restored for the first time in weeks. Viktor Panov, a railway worker, was helping to clear the shrapnel-shattered train station of unexploded shells, grenades and other scattered explosives. Other men cannibalized destroyed Russian armored vehicles for parts or working machinery.
“I can’t wrap my head around how this war with tanks and missiles is possible,” said Olena Volkova, 57, the head doctor at the hospital and the deputy head of the town council. “Against who? The peaceful civilians?”
“This is true barbarity,” she said.
The war began in Trostyanets on Feb. 24, the day the Russians launched their invasion of Ukraine. The town quickly became a thoroughfare for advancing Russian tank columns as they punched farther west, part of their northeastern offensive toward Kyiv, the capital. Thousands of armored vehicles rolled through, breaking highway guard rails and chewing up roads.
“As the Russians drove in, for the first two days, our guys fought back well, so long as they had heavy weapons,” said Mr. Panov, 37. “After they ran out of those, they were left only with rifles.”
Farther west, the offensive blitz toward Kyiv soon encountered fierce Ukrainian resistance, stopping the Russians short of the capital, meaning that soldiers would have to occupy Trostyanets rather than just move through it. Roughly 800 troops fanned out, constructing a dozen or so checkpoints that cut the town into a grid of isolated neighborhoods.
Residents say they rarely tried to move through the Russian positions, though they described the occupying soldiers as amiable enough in the first days of the occupation, and more confused than anything.
“The first brigade of Russian forces that came in were more or less tolerable,” Dr. Volkova said. “They said, ‘OK, we will help you.’”
That help, Dr. Volkova explained, was just allowing them to pull the corpses of the dead off the streets. She added that roughly 20 people had been killed during the occupation and the ensuing fighting — 10 had suffered gunshot wounds.
On a few occasions, the Russian troops opened “green corridors” for civilians to leave the town, though that was when some people — mostly younger, military-age men — were abducted.
Early in the occupation, Trostyanets’s police officers took off their uniforms and blended into the populace. Those who were in Ukraine’s Territorial Defense, the equivalent of the National Guard, slipped out to the town’s periphery and worked as partisans — documenting Russian troop movement and reporting it to the Ukrainian military.
Others remained in the town, quietly moving to help residents where they could, even as Russian soldiers hunted them. “We were here during the whole time of occupation, working to the best of our abilities,” explained the police chief, Volodymyr Bogachyov, 53.
As the days and weeks went by, food became scarce and any good will from the soldiers vanished, too. Residents boiled snow for water and lived off what they had stored from their small gardens. Russian soldiers, without a proper logistics pipeline, began looting people’s homes, shops and even the local chocolate factory. One butcher spray painted “ALREADY LOOTED” on his shop so the soldiers would not break in. On another store, another deterrence: “EVERYTHING IS TAKEN, NOTHING LEFT.”
By mid-March, the Russian soldiers were rotated out of the town and replaced by separatist fighters who were brought in from the southeast.
It was then, residents said, that atrocities began to mount.
“They were brash and angry,” Dr. Volkova said. “We could not negotiate with them about anything. They would not give us any green corridors, they searched the apartments, took away the phones, abducted people — they took them away, mostly young men, and we still don’t know where these people are.”
As of Friday, the town’s police had received 15 reports of missing people.
In the morgue, beside the three dead Russian soldiers, Dr. Volkova pointed to a body bag in the corner of the room. “This person was tortured to death,” she said. “His hands and legs are tied up with sticky tape, his teeth are missing and almost all of his face is gone. It’s unknown what they wanted from him.”
Outside the town, Ukraine’s 93rd Mechanized Brigade, a unit of experienced veterans who had seen combat off and on in the country’s separatist regions for the past seven years, slowly moved into position. Then, on March 23, they attacked with a bombardment of artillery fire.
The next day, the town’s hospital was shelled. It is not entirely clear who hit the building, but local residents accuse the Russians of firing into the structure. The hospital had been operational for the duration of the occupation, treating everyone, including Russian soldiers. During the shelling, only one doctor and one nurse were still working there, and they moved into the basement with patients.
“In the morning, we went away on foot with the last two women still remaining in the maternity ward, one pregnant and one that had just given birth,” said Xenia Gritsayenko, 45, a midwife who had returned to work on Friday to clean up the ward. Tank shells had gone through the walls, shredding baby posters and lighting at least one room on fire. “It was the cry from the bottom of the soul.”
The Russian forces fled on the night of the 25th. Their demolished artillery position in the train station square showed signs of an undersupplied and ad hoc force. Fortifications included ammo-crates loaded with sand and thick candy bar wrappers bundled in rolls and used to shore up shattered windows instead of sandbags. Uniforms lay in soaked puddles. Russian supply documents blew aimlessly in the wind.
A nearby monument that commemorates the World War II victory to retake the town, affixed with an aging Soviet tank, was damaged, but not destroyed. It had survived one more battle.
By Friday afternoon, Mr. Bogachyov, the police chief, was sorting through reports of townspeople who had collaborated with the former occupiers, as well as trying to address continued looting. Yet no one had issues siphoning fuel from the abandoned Russian tanks dotting the roads.
“The info is such as, ‘This person was talking or drinking vodka with the Russians,’ and, ‘This person pointed to them where is the home of the person they were looking for,’” he said.
“There is no information on collaborations such as our citizens taking arms along with the occupants or treating their own citizens with violence,” Mr. Bogachyov said, acknowledging that it was hard to tell if he was contending with Russian spies or just neighborly grudges.
The morning rain had burned off by the afternoon. The long lines around humanitarian aid distribution points dissipated. A garbage truck meandered by, loaded to the brim with war detritus and Russian army rations. A few people took selfies in front of the last Russian piece of self-propelled artillery that was still recognizable.
Galyna Mitsaii, 65, an employee of the local seed and gardening supplies shop near the train station, slowly restocked her shelves, pleased at how the day’s weather had turned out.
“We will sow, we will grow, we will live,” she said, crying.