Russian Offensive Campaign Assessment, July 31

Kateryna Stepanenko, Layne Philipson, Karolina Hird, and Frederick W. Kagan

July 31, 8:30 pm 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 have resumed localized ground attacks northwest and southwest of Izyum and may be setting conditions for offensive operations further west into Kharkiv Oblast or toward Kharkiv City. Russian forces have already launched unsuccessful assaults and reconnaissance-in-force attempts on Chepil, Shchurivka, and Husarivka (northwest of Izyum) and resumed assaults on Dmytrivka and Brazhikivka (southwest of Izyum) in recent days.[1] Russian forces maintained positions around Balaklia and Velyka Komyshuvakha for months and may use these two areas as springboards for an offensive operation. Russian forces may use their positions around Balaklia to restart assaults on Kharkiv City from the southeast. Russian forces are extremely unlikely to seize Kharkiv Oblast or capture Kharkiv City – the second most populated city in Ukraine – given the pace of Russian progress in Donbas and continued challenges in force generation and logistics. ISW has previously assessed that Russian President Vladimir Putin may have ordered Russian forces to take Kharkiv City and the unoccupied portion of Kharkiv Oblast but that he is unlikely to be successful in such goals. Russian forces may also be conducting spoiling attacks to prevent Ukrainian counteroffensives.

Crimean occupation officials obliquely accused Ukraine of orchestrating a drone attack on the Russian Black Sea Fleet headquarters in occupied Sevastopol on July 31, but Ukrainian officials denied responsibility for the attack.[2] Russian Governor of Sevastopol Mihail Razvozhaev claimed that Ukrainians “decided to spoil” Russia’s Navy Day celebrations and noted that a drone exploded in the headquarters’ yard but did not specify whether Ukrainian forces or locals launched the drone.[3] Razvozhaev published images showcasing minor damage to the headquarters building and yard, and social media footage depicted a small cloud of smoke rising from the building.[4] Razvozhaev also claimed that the explosion wounded six people. Russian Crimean Senator Olga Kovitidi later announced that unspecified actors carried out the attack with a makeshift drone from within the territory of Sevastopol.[5] The Ukrainian Naval Forces and Odesa Oblast Military Administration Spokesman Serhiy Bratchuk indirectly suggested that the drone attack was a Russian false flag operation.[6] ISW cannot independently verify the actor responsible for the attack.

The Russian government may be complicating international efforts to discern the nature of an unidentified July 28 kinetic event on the Olenivka penal colony. The Russian Ministry of Defense officially invited experts from the United Nations and the International Committee of the Red Cross (ICRC) to investigate the attack at the Olenivka prison on July 30.[7] The ICRC stated that it has not received access to the prison as of July 31, however.[8] Ukrainian Deputy Prime Minister Iryna Vereschuk also noted that Russian authorities have not responded to Ukrainian requests to return the bodies of deceased Ukrainian prisoners of war (POWs).[9]

Open-source intelligence (OSINT) analyst Oliver Alexander published an examination of satellite imagery from July 27 showing open graves at the Olenivka prison, noting that July 29 satellite imagery appears to show that the same graves have been covered.[10] Investigative journalism group Bellingcat founder Eliot Higgins stated that lower resolution satellite imagery indicates ground disturbances after July 18 and prior to July 21, suggesting that the Russians may have planned the incident in advance.[11] ISW will continue to monitor the open source for information on the strike on Olenivka and will provide updates as they appear.

Key Takeaways

  • The Kremlin has not responded to the International Red Cross (ICRC) request to access the Olenivka prison as of July 31, hindering the international investigation efforts.
  • Russian forces conducted limited ground attacks southwest and northwest of Izyum, consistent with ISW’s assessment that Russian forces may be setting conditions for advances northwest of the current Izyum-Slovyansk line.
  • Russian forces continued ground attacks northwest of Slovyansk, northeast of Siversk, and to the east and south of Bakhmut.
  • Russian forces made marginal gains in the Avdiivka area and continued ground attacks towards Avdiivka and Pisky.
  • Russian authorities began recruiting volunteers for the Nevsky and Ladoga Battalions in Leningrad Oblast, Russia.
  • Russian occupation authorities continued to prepare for a referendum in Kherson Oblast and took measures to depict support for Russian control of the occupied territories.

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 conducted limited ground attacks southwest and northwest of Izyum and continued to shell settlements in this area on July 31. The Ukrainian General Staff reported that Russian forces conducted an unsuccessful attack on Dmytrivka, about 20km southwest of Izyum.[12] Russian forces also conducted reconnaissance-in-force westward of Nova Husarivka to Husarivka (about 50km northwest of Izyum) and shelled Semylanne and Chervona Polyana, both 30km southwest of Izyum.[13] As ISW assessed on July 30, Russian forces may be reprioritizing offensive operations in the area northwest of the Izyum-Slovyansk in order to set conditions for westward advances from the Izyum area deeper into Kharkiv Oblast.[14]

Russian forces conducted a limited ground attack northwest of Slovyansk and otherwise shelled settlements along the Kharkiv-Donetsk Oblast border on July 31. The Ukrainian General Staff stated that Russian forces conducted an unsuccessful reconnaissance-in-force operation near Dolyna (about 20km northwest of Slovyansk along the E40 highway).[15] Russian troops also conducted artillery strikes near Dolyna, Krasnopillya, Mazanivka, and Adamivka - all settlements near the oblast border northwest of Slovyansk.[16] The Ukrainian General Staff noted that Russian troops are transferring separate units from the Slovyansk direction to the Zaporizhia direction, which is consistent with ISW’s assessment that Russian military leadership is likely de-prioritizing attempts to advance on Slovyansk in favor of operations elsewhere in Donbas and Southern Ukraine.[17]

Russian forces conducted a limited ground attack northeast of Siversk on July 31. The Ukrainian General Staff stated that Russian troops withdrew after an unsuccessful reconnaissance-in-force attempt near Serebryanka, 5km northeast of Siversk.[18] Russian forces also continued air and artillery strikes on Siversk and the surrounding settlements of Vymika, Spirne, Zvanivka, Verkhnokamyanske, Kryva Luka, Hryhorivka, and others.[19]

Russian forces conducted a series of ground assaults to the northeast, east, and southeast of Bakhmut on July 31. The Ukrainian General Staff reported that Russian forces attempted to improve their tactical positions on the Roty-Vershyna line, about 15km southeast of Bakhmut along the E40 highway.[20] Russian forces also attempted to improve their tactical positions in the direction of Bakhmut from positions in Pokrovske, just east of Bakhmut.[21] Ukrainian troops neutralized a Russian reconnaissance-in-force attempt in the direction of Strapivka to Soledar, which is within 10km northeast of Bakhmut.[22] Russian forces continued air and artillery strikes on Ukrainian positions surrounding Bakhmut in order to support attempts to advance from the south and east.[23]

Russian forces conducted several limited ground attacks northeast and southwest of Avdiivka and made marginal gains during offensive operations around Avdiivka on July 31.[24] The Ukrainian General Staff reported that Russian forces attempted advances around Kamyanka (less than 10km northeast of Avdiika) and Pisky (about 15km southwest of Avdiivka) and that unspecified separate Russian units had ”partial success” around Avdiivka.[25] Donetsk People‘s Republic (DNR) Deputy Information Minister Daniil Bezsonov claimed that Russian and DNR forces secured positions on the southeastern outskirts of Pisky, which is consistent with the Ukrainian General Staff’s statement that Russian forces attempted to push northwest of Donetsk City towards Pisky and had unspecified “partial success“ in the general area of Avdiivka.[26] Russian forces continued to shell along the Avdiivka-Donetsk City frontline in order to cover ground attacks towards Avdiivka and Pisky.[27]


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 did not conduct any ground assaults in the Kharkiv City direction, instead focusing on maintaining previously occupied lines and preventing Ukrainian forces from advancing toward the Russian border in Kharkiv Oblast on July 31.[28] Russian forces launched an airstrike near Staryi Saltiv, approximately 46km east of Kharkiv City, and continued conducting tube, tank, and rocket artillery strikes on Kharkiv City and settlements to the north, northeast, and southeast.[29]


Supporting Effort #2—Southern Axis (Russian objective: Defend Kherson and Zaporizhia Oblasts against Ukrainian counterattacks)

Russian forces continued to undertake defensive measures in Kherson Oblast in preparation for a Ukrainian counteroffensive in the region. The Ukrainian General Staff reported that Russian forces are attempting to prevent Ukrainian forces from advancing from the northeast into Kherson Oblast and continued shelling Ukrainian positions along the Kherson-Mykolaiv and Kherson-Dnipropetrovsk Oblast borders.[30] The Russian Defense Ministry claimed that Russian forces launched airstrikes on Ukrainian positions in Bilohirka and Bila Krynytsia, seemingly confirming that Ukraine retains a bridgehead on the eastern Inhulets River bank.[31] Satellite imagery also showed that Russian forces dug trenches near the Antonivskyi Bridge (on the right bank of the Dnipro River) and set up radar reflectors along both Antonivskyi road and railway bridges to prevent Ukrainian missile strikes.[32] Social media footage showed that Russian forces are also attempting to repair the bridge on July 31.[33]

Russian forces continued to shell and launch missile strikes against Nikopol and Mykolaiv City, after targeting the two cities throughout the week.[34] The Ukrainian Southern Operational Command reported that Russian forces fired two air-launched cruise missiles at Nikopol and 50 rockets from Grad MLRS systems.[35] Russian forces reportedly fired at Mykolaiv City with Smerch MLRS systems and modified S-300 air defense missiles on July 31.[36] Ukrainian officials stated that Russian rockets hit residential areas and social infrastructure, but the Russian Defense Ministry claimed to have destroyed a Ukrainian ammunition depot in Mykolaiv City.[37]

Ukrainian forces continue to successfully target Russian strongholds, transit routes, and ammunition depots throughout the Southern Axis. Ukrainian officials confirmed that Ukrainian forces destroyed a field ammunition depot in Vysoke (about 48km due northeast of Kherson City), and geolocated footage showed another large explosion in northern Kherson Oblast near the Dnipro River.[38] Advisor to the Ukrainian Internal Affairs Minister Anton Herashenko also confirmed that Ukrainian forces used western-provided HIMARS to strike a 40-car train with Russian equipment and personnel in Brylivka (about 47km southeast of Kherson City) on July 30, resulting in 80 dead and 200 wounded Russian servicemen.[39] Ukrainian news outlet “Ria Melitopol” published footage of an explosion at the Melitopol airfield on July 31. Ukrainian forces had targeted a reported Russian ammunition depot and base near the airfield on July 3.[40] Ukrainian forces likely conducted the strike against the airfield, but Ukrainian officials have not taken credit for or explained the explosion as of the time of this publication. The Ukrainian Main Military Intelligence Directorate (GUR) also confirmed that a Ukrainian strike on Russian positions in Verhniy Tokmak and Chernihivka (both approximately 40km southeast of Tokmak) on July 29, resulted in Russian forces relocating their personnel and equipment from those settlements to Berdyansk and Tokmak.[41] The GUR specified that approximately 100 Russian servicemen remain around Chernihivka to maintain checkpoints but that most of the personnel are relocating and mining the roads.[42] The GUR also noted that the strike wounded at least 40 Russian servicemen.


Mobilization and Force Generation Efforts (Russian objective: Expand combat power without conducting general mobilization)

Russian forces continued to recruit and form additional volunteer battalions in Leningrad Oblast.[43] Leningrad Oblast Administration stated on July 28 that the oblast is forming two volunteer artillery battalions ”Nevsky” and ”Ladozhskiy,” and announced additional unspecified social support measures for recruits that signed contracts with the battalions.[44] Leningrad Oblast offered recruits a one-time payment of 200,000 rubles (about $3,200) and other social benefits. St. Petersburg outlet ”Fontanka” contacted a St. Petersburg military recruitment center and discovered that St. Petersburg is forming an unnamed motorized rifle volunteer battalion and confirmed that Russian forces will pay recruits 100,000 rubles ($1,600) for one month of training and will pay 3,300 rubles (about $53) per day of combat service in Ukraine.[45] The report also stated that enlisted servicemen may receive an additional 50,000-100,000 rubles (about $800-1,600) for destroying Ukrainian military equipment in battle. The St. Petersburg battalion is forming in Luga (140 km south of St. Petersburg).

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 authorities continued setting conditions for a referendum in Kherson Oblast on July 31. Kherson Oblast Head Dmytro Butrii reported that Russian forces opened polling stations, clarified voting lists, and handed out Russian passports to Kherson Oblast residents on July 31.[46] Melitopol Mayor Ivan Fedorov reported that Russian occupation authorities are bringing citizens of distant Russian republics to live in Melitopol, reportedly in an effort to create the image of a large population living in Melitopol.[47] Fedorov also stated that there are 800 hundred vehicles with 4,000 people in line to evacuate occupied territories and that Russian authorities are making copies of the passports of everyone who leaves.[48] Fedorov stated that Russian authorities only allow 200-300 cars to pass each day and that only those with permission slips will be allowed to leave the occupied territories starting on Monday, August 1.[49] Geolocated video footage posted on July 31 reportedly showed Ukrainian partisans ambushing a Russian police patrol vehicle using a roadside bomb in Kherson on July 27.[50]





[5] https://ria dot ru/20220731/sevastopol-1806192932.html




[9] https://suspilne dot media/266422-rosia-poki-ne-vidpovidae-na-vimogu-ukraini-pro-povernenna-til-zagiblih-v-olenivci-veresuk/




















[29];;;;; ;;;;;;



[32] ;;;

[33] ;;;;




[37];;;; https://suspilne dot media/266307-pid-cas-obstrilu-mikolaeva-zaginuv-oleksij-vadaturskij/



[40] https://ria-m dot tv/news/294131/v_melitopole_progremel_vzryiv_ryadom_s_aerodromom_(foto).html; https://ria-m dot tv/news/291372/v_melitopole_vsu_unichtojilo_odnu_iz_rossiyskih_voennyih_baz_mer_ivan_fedorov_dal_ofitsialnyiy_kommentariy_(video).html

[41] https://gur dot

[42] https://gur dot

[43]; https://www.fontanka dot ru/2022/07/29/71527796/; https://www dot; https://meduza dot io/news/2022/07/28/v-peterburge-nachali-nabor-v-motostrelkovyy-batalon-dlya-otpravki-na-voynu-takie-batalony-sozdayut-i-v-drugih-regionah-rossii

[44] https://lenobl dot ru/ru/dlya-smi/news/50350/

[45] https://meduza dot io/news/2022/07/28/v-peterburge-nachali-nabor-v-motostrelkovyy-batalon-dlya-otpravki-na-voynu-takie-batalony-sozdayut-i-v-drugih-regionah-rossii; https://www dot