Russian Offensive Campaign Assessment, July 25
Karolina Hird, Kateryna Stepanenko, Katherine Lawlor, Layne Philipson, and Frederick W. Kagan
July 25, 8:00pm ET
Click here to see ISW's interactive map of the Russian invasion of Ukraine. This map is updated daily alongside the static maps present in this report.
Russian forces made marginal territorial gains south of Bakhmut on July 25 but are largely suffering from the same fundamental limitations that previously prevented them from rapidly gaining substantial ground during offensive operations in Luhansk Oblast. Geolocated social media footage from July 25 shows that troops of the Wagner Group Private Military Company (PMC) have advanced into Novoluhanske and Russian and Ukrainian sources noted that Russian forces are taking control of the territory of the Vuhledar Power Plant on the northern edge of Novoluhanske, likely as a result of a controlled Ukrainian withdrawal from the area.[1]
Russian Telegram channels began reporting on Russian attempts to advance on Novoluhanske as early as May 25, which means that Russian troops have been unsuccessfully attacking this single location for two months.[2] Novoluhanske is neither a large settlement nor is it characterized by particularly challenging terrain, yet Russian forces have impaled themselves on it for weeks.
The capture of Novoluhanske and the Vuhledar Power Plant will not generate an advantageous salient along which Russian troops will be able to advance northwards towards Bakhmut. The Russian campaign to seize the Severodonetsk-Lysychansk area benefitted from the fact that they had already created a salient with those two cities near its apex. They were able continually to press on the flanks of Ukrainian defensive positions until they had secured Severodonetsk. They struggled after that to take advantage of the fact that Lysychansk remained at the apex of a salient until they managed to break out from Popasna to the south and drive northward. Siversk is currently the town closest to the apex of the remaining salient, and Russian forces have struggled to advance against it. The Russian seizure of Novoluhanske and the Vuhledar Power Plant, on the other hand, flattens the Ukrainian defensive line rather than perpetuating a salient, thereby limiting the advantage the occupation of those areas gives to the Russian forces.
The operations around Novoluhanske indicate that Russian forces are suffering the same limitations in terms of their ability to effectively use battlefield geometry (such as the creation of effective salients) to their advantage, which is exacerbated by the extreme difficulty Russian forces regularly have capturing small and relatively insignificant bits of terrain over weeks or months of fighting. These limitations will grow as Russian units continually degrade themselves during assaults on small villages. Russian forces are unlikely to be able to effectively leverage the capture of Novoluhanske to take Bakhmut, and the continual tactical and operational limitations they are facing on the battlefield will likely contribute to the culmination of the offensive in Donbas before capturing Bakhmut, Slovyansk, or any other major city in Donetsk Oblast.
Key Takeaways
- Russian forces made marginal gains south of Bakhmut but are unlikely to be able to effectively leverage these advances to take full control of Bakhmut itself.
- Russian forces conducted limited ground attacks north of Kharkiv City, east of Siversk, and east of Bakhmut.
- Russian forces are continuing to fortify and strengthen positions in Zaporizhia and Kherson Oblasts in anticipation of Ukrainian counteroffensives.
- Ukrainian forces are continuing to strike Russian strongholds along the Southern Axis.
- Russian forces continued to withdraw military equipment from storage in Omsk and face challenges with repairing damaged combat vehicles.
- Russian occupation officials are continuing to set conditions for the annexation of occupied territories to the Russian Federation and to extend administrative control of occupied areas of Ukraine.
We do not report in detail on Russian war crimes because those activities are well-covered in Western media and do not directly affect the military operations we are assessing and forecasting. We will continue to evaluate and report on the effects of these criminal activities on the Ukrainian military and population and specifically on combat in Ukrainian urban areas. We utterly condemn these Russian violations of the laws of armed conflict, Geneva Conventions, and humanity even though we do not describe them in these reports.
- Main Effort—Eastern Ukraine (comprised of one subordinate and two supporting efforts);
- Subordinate Main Effort—Encirclement of Ukrainian Troops in the Cauldron between Izyum and Donetsk and Luhansk Oblasts
- Supporting Effort 1—Kharkiv City
- Supporting Effort 2—Southern Axis
- Mobilization and Force Generation Efforts
- Activities in Russian-occupied Areas
Main Effort—Eastern Ukraine
Subordinate Main Effort—Southern Kharkiv, Donetsk, Luhansk Oblasts (Russian objective: Encircle Ukrainian forces in Eastern Ukraine and capture the entirety of Donetsk and Luhansk oblasts, the claimed territory of Russia’s proxies in Donbas)
Russian forces did not conduct any confirmed ground attacks northwest of Slovyansk and shelled settlements to the southeast and southwest of Izyum on July 25. The Ukrainian General Staff noted that the Russian grouping in this area is focusing on replenishing manpower and equipment losses.[3] Russian forces shelled Bohorodychne, Dibrovne, Dolyna, Adamivka, and Mazanivka to the southeast of Izyum and Barvinkove, and Karnaukhiva to the southwest of Izyum in the Barvinkove direction.[4] Russian forces also conducted missile and artillery strikes on Kramatorsk, 10km south of Slovyansk.[5]
Russian forces continued unsuccessful ground assaults east of Siversk on July 25. Ukrainian sources reported that Russian troops failed to advance on Ivano-Darivka (about 10km southeast of Siversk) from Berestove and Verkhnokamyanka.[6] Russian forces reportedly continued ground attacks around Spirne (15km southeast of Siversk) and Verkhnokamyanske (5km due east of Siversk) and conducted air and artillery attacks around Siversk to support ongoing ground attacks.[7]
Russian forces made incremental advances south of Bakhmut on July 25. Luhansk People’s Republic (LNR) Deputy Internal Minister Vitaly Kiselev posted footage of Wagner Group mercenaries in front of the sign at the entrance of Novoluhanske, roughly 25km southeast of the outskirts of Bakhmut, which indicates that Russian troops have advanced into Novoluhanske.[8] Several Russian sources additionally claimed that Russian forces are actively clearing the territory of the Vuhledar Power Plant, which lies on the northern edge of Novoluhanske.[9] The Ukrainian General Staff reported that Russian forces had ”partial success” on the territory of the Vuhledar Power Plant, which may indicate that Ukrainian troops conducted a controlled withdrawal from the plant.[10] A Russian war correspondent reporting for the Russian Federal News Agency (FAN) stated that Ukrainian forces can only withdraw to the northwest of Novoluhanske to Semihirya, further suggesting that Ukrainian forces are engaging in a deliberate and controlled withdrawal from the territory of the power plant.[11] Russian forces also continued fighting around Novoluhanske in Vershyna and Myronivskyi.[12]
Russian forces additionally continued limited ground attacks to the east of Bakhmut. The Ukrainian General Staff reported that Russian forces failed to advance from Klynove to occupied positions in Pokrovske.[13] Russian Telegram channels claimed that Russian forces are fighting northeast of Bakhmut around Bakhmutske and Soledar in order to advance southwest on Bakhmut from Soledar.[14]
Russian forces did not make any confirmed ground attacks around Donetsk City and continued artillery strikes along the Avdiivka-Donetsk City frontline.[15]
Supporting Effort #1—Kharkiv City (Russian objective: Defend ground lines of communication (GLOCs) to Izyum and prevent Ukrainian forces from reaching the Russian border)
Russian forces conducted a limited ground assault north of Kharkiv City on July 25.[16] The Ukrainian General Staff reported that Russian forces suffered losses when attempting an unsuccessful ground assault from Tsupivka to Dementiivka.[17] Russian forces continued conducting combat operations in an effort to maintain occupied positions and prevent Ukrainian forces from advancing toward the international border.[18] Russian forces conducted airstrikes on Petrivka, Prudyanka, and Yavirske and launched tube and rocket artillery strikes on Kharkiv City and settlements to the north, northeast, and southeast on July 25.[19]
Supporting Effort #2—Southern Axis (Russian objective: Defend Kherson and Zaporizhia Oblasts against Ukrainian counterattacks)
Russian forces continued to fortify their positions in Zaporizhia and Kherson Oblasts in preparations for Ukrainian counteroffensives. Zaporizhia Oblast Military Administration Head Oleksandr Starukh reported that Russian forces are digging trenches on the territory of the Zaporizhzhia Nuclear Power Plant (NPP) and hiding military equipment in residential neighborhoods.[20] Enerhodar City Administration Head Dmytro Orlov added that Russian forces are continuing to use defensive positions around the Zaporizhzhia NPP to shell settlements in Dnipropetrovsk Oblast.[21] The Ukrainian Main Military Intelligence Directorate (GUR) noted that Russian forces also partially restored the work of a concrete plant in Melitopol to strengthen defensive lines and firing positions and rebuild an airfield in the city.[22] The GUR specified that Russian attempts to rebuild the airfield will require at least 21 to 28 days and will not likely make it fully operational. Ukrainian sources published footage of Russian forces reportedly transferring tanks and armored personnel carriers via settlements south and north of Melitopol, likely in the Kherson Oblast direction.[23] Advisor to the Kherson Oblast Military Administration Serhiy Khlan reported that Russian forces are attempting to patch the Antonivskyy Bridge but are unlikely to restore its capacity to transport heavy military equipment.[24] Geolocated footage also showed Russian forces building a pontoon bridge over the Inhulets River near Darivka, approximately 17km northeast of Kherson City.[25]
Russian forces continued to launch air, missile, and artillery strikes along the Kherson Oblast administrative border, Dnipropetrovsk Oblast, and Mykolaiv City on July 25.[26] Russian forces reportedly fired six missiles at Mykolaiv City and settlements in its vicinity.[27] The Ukrainian General Staff noted that Russian forces are also increasingly conducting aerial reconnaissance in the region.[28]
Ukrainian forces reportedly continued to strike Russian strongholds on the Southern Axis on July 24 and July 25. The Ukrainian Southern Operational Command reported that Ukrainian forces destroyed an observation and command post of the Russian 785th Separate Special Unit of the Rosgvardia and two ammunition depots in unspecified localities.[29] Ukrainian assault aircraft and helicopters reportedly struck three Russian strongholds in Beryslavskyi and Khersonskyi districts, and Russian Telegram channel Rybar claimed reports of Ukrainian artillery strikes on the Kherson City outskirts, but ISW cannot independently confirm either report.[30] Social media footage showed smoke surrounding Russian trains in Novooleksivka in southeastern Kherson Oblast, but the cause of the smoke and the level of damage to the trains is unclear.[31]
Mobilization and Force Generation Efforts (Russian objective: Expand combat power without conducting general mobilization)
Russian forces continued to withdraw additional military equipment to commit to the Russian invasion of Ukraine. Satellite imagery showed that Russian forces withdrew 60 units of 2S7 Pion howitzers from storage at the 9th Arsenal in Omsk, Russia as of July 18.[32] Satellite imagery previously showed that the arsenal had 170 howitzers in early April and 135 in early June. The UK Defense Ministry also reported that Russian forces are continuing to face challenges in repairing combat vehicles as witnessed by at least 300 damaged vehicles (main battle tanks, armored personnel carriers, and support trucks) at the refit and refurbishment facility near Barvinok, Belgorod Oblast.[33]
The Ukrainian Main Military Intelligence Directorate (GUR) reported that Russian forces began covert mobilization of medics across Russia to treat the growing number of wounded servicemen.[34] The GUR noted that Russian forces are specifically mobilizing surgical personnel and intend to deploy other medical staff to work on the frontlines and in occupied cities in Donbas. The GUR added that Russian forces also established mobile medical clinics in occupied settlements of Donetsk Oblast where they reportedly coerce residents to donate blood for Russian troops.
Activity in Russian-occupied Areas (Russian objective: consolidate administrative control of occupied areas; set conditions for potential annexation into the Russian Federation or some other future political arrangement of Moscow’s choosing)
Russian occupation officials continued setting conditions to falsify annexation referenda in occupied Ukrainian territories to annex those territories into Russia, likely around mid-September. Radio Liberty published a Russian document entitled "Strategy for the Preparation and Holding of the Referendum on the Accession of the Donetsk People’s Republic (DNR) to the Russian Federation” on July 25, citing unspecified Ukrainian intelligence sources.[35] The document details Russian preparations to hold faux referenda in the DNR in order to annex the DNR directly into Russia.
The document claims that Russian occupation officials hope to portray a 70% participation rate and a 70% approval rate in the falsified DNR referendum. Occupation authorities based their calculations on the population for the entirety of Donetsk Oblast, but the document incongruously notes that only one-third of Donetsk civilians remain in Russian-occupied areas—occupation forces may struggle to calculate plausible participation or approval numbers for their sham plebiscite. This mismatch between the actual population of Russian-occupied Donetsk Oblast and the numbers used to calculate the referendum totals demonstrates that the Kremlin has long planned to occupy and annex the entirety of Donetsk Oblast. The document may have been written before the Russian offensive stalled. Alternatively, the Kremlin may still believe that Russian forces will conquer the rest of Donetsk—the degraded state of their forces and the scope of Ukrainian fortifications along the current frontlines suggest that Russian forces are very unlikely to secure the oblast before the fall. Russian reports continue to suggest that the Kremlin is planning to hold faux referenda across occupied Ukraine around September 11.[36] Their ongoing military failures could lead the Kremlin to postpone the annexation referenda in Donetsk or across occupied Ukrainian oblasts.
The leaked document also included instructions on using long-lasting ink as a “voter’s mark” to prevent double-voting in the elections, a low-tech solution that could be easily circumvented if occupation authorities decide to physically stuff ballot boxes rather than simply announce their desired results after the sham plebiscite. The “voter’s mark” could also be used to identify and target Ukrainian civilians in occupied areas who refuse to participate in the sham election. In a most dangerous scenario, occupation authorities could add fingerprinting and biometric registration to the “voter’s mark” process, creating a biometric database of civilians in occupied Donetsk that could later be used to identify and disrupt opposition groups and partisan networks in occupied territories.
Separately, Russian occupation officials continued their efforts to force Ukrainian civilians in occupied territories to register for Russian passports and to use the ruble on July 25. Prominent Russian milbloggers claimed that occupation officials have begun issuing Russian-style birth certificates for children born in occupied Zaporizhia Oblast, a precursor to registering those children for Russian passports if their families hope to leave the oblast.[37] The Russian-appointed head of the Zaporizhia Occupation Administration, Yevheny Balitsky, claimed that as of July 25, there are 12 total passport and documentation offices in Zaporizhia Oblast and that over 18,000 people have signed up for Russian passports in the oblast.[38] The Russian-appointed head of the Kherson Occupation Administration, Kirill Stremousov, said on July 25 that his administration will gradually withdraw the Ukrainian hryvnia from circulation and replace it with the Russian ruble.[39] Russian milblogger Boris Rozhin claimed on July 25 that occupation officials will provide rubles as part of pensions, salaries, and benefits, driving down the hryvnia’s exchange rate over time.[40] The passportization and rubleization of occupied territories are components of the broader Russian campaign to degrade Ukrainian governance capabilities and Ukrainian identity in occupied areas even if Ukrainian forces are able to recapture them.
[1]https://www.facebook.com/GeneralStaff.ua/posts/pfbid02Kyc1ku5z6c41B6y9xXDHDUE9WsEYPXeqnDKMeSiPg5EC7MABp3r1e6oj444rwQBxl; https://t.me/grey_zone/14421; https://t.me/riafan_everywhere/11612; https://twitter.com/666_mancer/status/1551543716065775616 https://twitter.com/666_mancer/status/1551525407106760705; https://t.me/TRO_DPR/5149; https://t.me/voenkorKotenok/38656; https://t.me/kommunist/7711; https://t.me/boris_rozhin/58257; https://twitter.com/kargolow/status/1551557878846312450; https://twitter.com/SanderRegter/status/1551538325663645699; https://t.me/readovkanews/39190; https://t.me/rybar/36077
[2] https://t.me/swodki/103266; https://t.me/swodki/103136
[3]https://www.facebook.com/GeneralStaff.ua/posts/pfbid02Kyc1ku5z6c41B6y9xXDHDUE9WsEYPXeqnDKMeSiPg5EC7MABp3r1e6oj444rwQBxl
[4]https://www.facebook.com/GeneralStaff.ua/posts/pfbid02Kyc1ku5z6c41B6y9xXDHDUE9WsEYPXeqnDKMeSiPg5EC7MABp3r1e6oj444rwQBxl; https://www.facebook.com/GeneralStaff.ua/posts/370613891918362; https://twitter.com/TpyxaNews/status/1551576452994310144; https://twitter.com/Cosmonaut19/status/1551583334404222976
[5] https://t.me/pavlokyrylenko_donoda/4286; https://youtu.be/W7h4ARoXAiM; https://t.me/pavlokyrylenko_donoda/4285;https://twitter.com/Pavlo_Kyrylenko/status/1551506971215675393; https://twitter.com/small10space/status/1551436601456312321; https://t.me/stranaua/54184; https://t.me/kramatorsk_rada/4682; https://t.me/rybar/36068?single
[6]https://www.facebook.com/GeneralStaff.ua/posts/pfbid02Kyc1ku5z6c41B6y9xXDHDUE9WsEYPXeqnDKMeSiPg5EC7MABp3r1e6oj444rwQBxl; https://www.facebook.com/GeneralStaff.ua/posts/370613891918362; https://t.me/rybar/36077; https://t.me/luhanskaVTSA/4537?single; https://t.me/luhanskaVTSA/4525
[7]https://www.facebook.com/GeneralStaff.ua/posts/pfbid02Kyc1ku5z6c41B6y9xXDHDUE9WsEYPXeqnDKMeSiPg5EC7MABp3r1e6oj444rwQBxl; https://www.facebook.com/GeneralStaff.ua/posts/370613891918362; https://t.me/rybar/36054; https://t.me/luhanskaVTSA/4525
[8] https://t.me/kommunist/7711; https://t.me/boris_rozhin/58257; https://twitter.com/kargolow/status/1551557878846312450; https://twitter.com/SanderRegter/status/1551538325663645699
[9] https://t.me/grey_zone/14421; https://t.me/riafan_everywhere/11612; https://twitter.com/666_mancer/status/1551543716065775616 https://twitter.com/666_mancer/status/1551525407106760705; https://t.me/TRO_DPR/5149; https://t.me/voenkorKotenok/38656; https://t.me/readovkanews/39190
[10]https://www.facebook.com/GeneralStaff.ua/posts/pfbid02Kyc1ku5z6c41B6y9xXDHDUE9WsEYPXeqnDKMeSiPg5EC7MABp3r1e6oj444rwQBxl;
[11] https://t.me/grey_zone/14421; https://t.me/riafan_everywhere/11612; https://twitter.com/666_mancer/status/1551543716065775616 https://twitter.com/666_mancer/status/1551525407106760705; https://t.me/rybar/36077
[12] https://www.facebook.com/GeneralStaff.ua/posts/370613891918362
[13]https://www.facebook.com/GeneralStaff.ua/posts/pfbid02Kyc1ku5z6c41B6y9xXDHDUE9WsEYPXeqnDKMeSiPg5EC7MABp3r1e6oj444rwQBxl
[14] https://t.me/rybar/36054; https://t.me/rybar/36077; https://t.me/kommunist/7679
[15]https://www.facebook.com/GeneralStaff.ua/posts/pfbid02Kyc1ku5z6c41B6y9xXDHDUE9WsEYPXeqnDMeSiPg5EC7MABp3r1e6oj444rwQBxl; https://www.facebook.com/GeneralStaff.ua/posts/370613891918362; https://t.me/milchronicles/937 ; https://twitter.com/neonhandrail/status/1551377366173159424; https://twitter.com/RALee85/status/1551354688334974978; https://twitter.com/RALee85/status/1551350953768525824; https://twitter.com/RALee85/status/1551545299822329857; https://twitter.com/neonhandrail/status/1551356429818138625; https://t.me/boris_rozhin/58270; https://t.me/nm_dnr/8591; https://t.me/nm_dnr/8588
[16]https://www.facebook.com/GeneralStaff.ua/posts/pfbid02Kyc1ku5z6c41B6y9xXDHDUE9WsEYPXeqnDKMeSiPg5EC7MABp3r1e6oj444rwQBxl
[17]https://www.facebook.com/GeneralStaff.ua/posts/pfbid02Kyc1ku5z6c41B6y9xXDHDUE9WsEYPXeqnDKMeSiPg5EC7MABp3r1e6oj444rwQBxl
[18] https://www.facebook.com/GeneralStaff.ua/posts/370613891918362
[19]https://www.facebook.com/GeneralStaff.ua/posts/pfbid02Kyc1ku5z6c41B6y9xXDHDUE9WsEYPXeqnDKMeSiPg5EC7MABp3r1e6oj444rwQBx; https://www.facebook.com/GeneralStaff.ua/posts/370613891918362; https://t.me/rybar/36081?single; https://t.me/synegubov/3753; https://t.me/synegubov/3765?single; https://twitter.com/XAPKIB/status/1551441195943006208; https://t.me/milinfolive/87678
[20] https://t.me/zoda_gov_ua/10850; https://t.me/orlovdmytroEn/725
[21] https://t.me/orlovdmytroEn/723; https://t.me/zoda_gov_ua/10850
[22] https://gur dot gov.ua/content/okupanty-namahaiutsia-vidnovyty-aerodrom-v-melitopoli-za-dopomohoiu-mistsevoho-zavodu-z-vyrobnytstva-betonu.html
[23] https://t.me/riamelitopol/62708; https://t.me/riamelitopol/62684; https://t.me/stranaua/54284
[24]https://www.facebook.com/sergey.khlan/posts/pfbid02JFnbJtu5QgkwzogWgKkWfX3oP1jVQGJ96pq3HLoGSpWrjYKzgNXSxV2jnw2h9Cpal
[25] https://twitter.com/DefMon3/status/1551584131556966400; https://twitter.com/serg_south/status/1551572883322949633
[26] https://www.facebook.com/watch/?v=1720133871671120; https://t.me/dnipropetrovskaODA/1379 ; https://t.me/mykola_lukashuk/807; https://twitter.com/DemeryUK/status/1551334318185877513; https://t.me/dnipropetrovskaODA/1379 ; https://t.me/mykola_lukashuk/807; https://www.facebook.com/GeneralStaff.ua/posts/pfbid02Kyc1ku5z6c41B6y9xXDHDUE9WsEYPXeqnDKMeSiPg5EC7MABp3r1e6oj444rwQBxl; https://t.me/mykolaivskaODA/1878; https://www.facebook.com/watch/?v=1092290318391049
[27] https://twitter.com/mol4unAKA/status/1551288185430450182; https://www.facebook.com/watch/?v=1720133871671120
[28]https://www.facebook.com/GeneralStaff.ua/posts/pfbid02Kyc1ku5z6c41B6y9xXDHDUE9WsEYPXeqnDKMeSiPg5EC7MABp3r1e6oj444rwQBxl
[29] https://www.facebook.com/watch/?v=1092290318391049
[30] https://t.me/rybar/36068?single; https://www.facebook.com/watch/?v=1092290318391049
[31] https://twitter.com/PauliusZaleckas/status/1551530105272426497; https://twitter.com/GirkinGirkin/status/1551523998097350658; https://t.me/c/1681957550/19306
[32] https://twitter.com/COUPSURE/status/1551504230183309313; https://t.me/m0sc0wcalling/9075
[33] https://twitter.com/DefenceHQ/status/1551433014068105216; https://twitter.com/DefenceHQ/status/1551433114685161472; https://twitter.com/DefenceHQ/status/1551433197459836928
[34] https://gur dot gov.ua/content/rosiiski-shpytali-ne-zdatni-vporatysia-z-naiavnoiu-kilkistiu-poranenykh-okupantiv-v-rf-provodytsia-mobilizatsiia-medychnoho-personalu.html
[35] https://www.radiosvoboda dot org/a/news-donetsk-referendum-rosiya/31958421.html
[36] https://t.me/boris_rozhin/58258; https://understandingwar.org/backgrounder/russian-offensive-campaign-assessment-july-19
[37] https://t.me/boris_rozhin/58269; https://t.me/southtower/6515
[38] https://t.me/BalitskyVGA/84
[39] https://tass dot ru/ekonomika/15299285?utm_source=google.com&utm_medium=organic&utm_campaign=google.com&utm_referrer=google.com
[40] https://t.me/boris_rozhin/58258