Skip to main content
explainers

Moscow's spring offensive begins Russian forces launch their first major operation since the battle for Sudzha with a thrust toward Kostiantynivka

Source: Meduza

Like our earlier reports on the combat situation in Ukraine, this article takes stock of the recent developments on the battlefield based on open-source information. Meduza has condemned Russia’s invasion of Ukraine from the very start, and our detailed military analyses are part of our commitment to objective reporting on a war we firmly oppose.

Our map is based exclusively on open-source photos and videos, most of them posted by eyewitnesses on social media. We collect available evidence and determine its geolocation markers, adding only the photos and videos that clear this process. Meduza doesn’t try to track the conflict in real time; the data reflected on the map are typically at least 48 hours old.

Key updates as of April 15, 2025

Fighting along the border between Russia’s Kursk region and Ukraine’s Sumy region is gradually subsiding. Both armies are now likely focused on redeploying the units that spent the end of the winter engaged in the battle for Sudzha to other fronts. In the central part of Donbas, Russian forces have finished regrouping and launched their first major offensive of the spring–summer campaign. So far, they’ve broken through Ukraine's defenses north of Toretsk and, in a single push, advanced halfway to Kostiantynivka. This city, which shields the Kramatorsk—Sloviansk agglomeration in northern Donbas from the south, will likely be one of the main objectives of the offensive.


Meduza has condemned Russia’s invasion of Ukraine from the very start, and we are committed to reporting objectively on a war we firmly oppose. Join Meduza in its mission to challenge the Kremlin’s censorship with the truth. Donate today


Kursk border region

After several weeks of fighting, Russian forces have recaptured the village of Guyevo from Ukrainian troops south of Sudzha. They’re now about five kilometers (three miles) from the border, along the Psel River. Getting the rest of the way there won’t be easy: unlike the territory to the west of Sudzha, where Ukrainian forces have lost their main supply line — the Sudzha–Sumy road — in the Guyevo area, they still have a solid logistics system in place. At the same time, Russia’s troops are hindered by difficult terrain — forests and swamps along the banks of the Psel. The next fortified Ukrainian position is located at the Gornalsky St. Nicholas Monastery, three kilometers (1.8 miles) from Guyevo, along the river.

To the west of Guyevo, Russian forces have reached the Sudzha border checkpoint, but they haven't yet tried to advance further into Ukraine's Sumy region along this stretch of the border.

Russian troops have established a bridgehead further west in the Sumy region. They’ve captured the village of Basovka, but have so far been unable to break through to the major Ukrainian logistics hub in Yunakivka along the Sudzha–Sumy road through the village of Loknya.

Another Russian group is working to push Ukrainian forces, which crossed the border into the Belgorod region in March, back from their positions, about 20 kilometers (12 miles) east of Guyevo. Russian forces have recaptured most of the village of Demidovka.

Only a few units from those involved in the decisive battle around Sudzha in early March are taking part in the clashes near the border. From the Russian side, there are isolated units from the airborne and marine forces that fought in the Kursk region. For example, one of the three assault landing regiments from the 76th Air Assault Division is taking part in the offensive on Basovka. On the Ukrainian side, entire brigades withdrew from the fight after leaving Sudzha, and their current location is unknown. It’s likely that most of the forces from both the Russian and Ukrainian groups have been withdrawn for recovery and will later be redeployed to other fronts.

Typically, this kind of regrouping takes several weeks or even months, especially if the units have suffered heavy losses. For example, the 72nd Mechanized Brigade of the Ukrainian Armed Forces, which defended Vuhledar and broke out of encirclement near the city in October 2024, spent three months recovering in the Kherson region before being returned to the front south of Pokrovsk in February. It’s unlikely that the Ukrainian brigades, which have been trying to break through (often on foot) from the area north of Sudzha, are in much better condition than the 72nd Brigade after the battle for Vuhledar.

It remains unclear where the Russian grouping’s units from the Kursk region will be sent next.

Pokrovsk and Velika Novoselka

Russian forces continue to push toward Novopavlivka in the Dnipropetrovsk region from the south and east, as well as toward the confluence of the Mokri Yaly and Vovcha rivers near the village of Komar. If successful, this extensive operation could threaten to collapse the entire Ukrainian front between Pokrovsk and Kurakhove, making the defense of Pokrovsk much more difficult.

On the southern flank of this offensive (from the captured regional center of Velyka Novosilka), Russian forces have reached the outskirts of the village of Shevchenko, which is home to Ukraine’s largest (but undeveloped) lithium deposit.

Toretsk and Kostiantynivka

After completing their regrouping, Russian forces not only managed to push Ukrainian forces out of most of Toretsk — including the city center, which Ukrainian troops had taken partial control of during their counteroffensive in February — but also broke deep into Ukraine’s defenses between Toretsk and the city of Kostiantynivka.

North of Toretsk, a Russian column broke through to Pleshchiivka, located halfway between Toretsk and Kostiantynivka. It is unclear whether Russian forces have managed to secure this position. However, Russian troops have also been spotted to the west, having advanced from the east to the villages of Shcherbynivka and Leonidivka on the western outskirts of the Toretsk agglomeration. It seems likely that Ukrainian defenses (specifically, brigades of the Ukrainian Interior Ministry) in this area have been breached. Ukrainian forces may have already withdrawn from both the northern outskirts and the Zabalka district in the southwest of the city.

At the same time, Russian forces are trying to encircle the remaining Ukrainian defenses in the Toretsk agglomeration from the southwest. Russian troops are advancing along two axes — through Oleksandropil and Kalynove, heading toward Kostiantynivka.

If Ukrainian forces don’t strengthen their defenses along the Toretsk front, Russian forces could reach the southern outskirts of Kostiantynivka within weeks, which would drastically weaken the position of Ukrainian forces along the entire front from Chasiv Yar to Pokrovsk.

The red dots show recent events, and the gray dots show earlier events. Black indicates the approximate contact line as of the last update; the red and blue areas mark places occupied (since early September) by Russian and Ukrainian forces. Clicking on them will provide additional information. Air strikes are marked with a special icon, ground operations with dots. Click on the point on the map to pull up source links.
Meduza is careful in working with data, but mistakes are still possible, and perhaps even inevitable. If you spot one, please let us know by sending an email to [email protected]. Thank you!
Read our previous combat map

Moscow pushes on As Ukraine withdraws to avoid encirclement in the Kursk region, Russia seizes the initiative on multiple fronts

Read our previous combat map

Moscow pushes on As Ukraine withdraws to avoid encirclement in the Kursk region, Russia seizes the initiative on multiple fronts