22 hours ago

Russian Offensive Campaign Assessment, July 28, 2025

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.

 

Click here to see ISW's interactive map of Ukraine's offensive in Kursk Oblast.

 

Click here to see ISW’s 3D control of terrain topographic map of Ukraine. Use of a computer (not a mobile device) is strongly recommended for using this data-heavy tool.

 

Click here to access ISW’s archive of interactive time-lapse maps of the Russian invasion of Ukraine. These maps complement the static control-of-terrain map that ISW produces daily by showing a dynamic frontline. ISW will update this time-lapse map archive monthly.

 

Note: The data cut-off for this product was 12:45 pm ET on July 28. ISW will cover subsequent reports in the July 29 Russian Offensive Campaign Assessment.

 

US President Donald Trump announced a new deadline for Russian President Vladimir Putin to negotiate an end to Russia’s war against Ukraine no later than August 9. Trump stated on July 28 that he is “very disappointed” with Putin and will “reduce” his previously articulated 50-day deadline by which Putin must agree to peace negotiations.[i] Trump stated that he will make a new deadline of roughly “10 to 12 days from today [July 28]"  as Putin’s ongoing disinterest in peace negotiations leaves “no reason” for the United States to delay its response.[ii] Trump insinuated that he will more formally announce the new deadline on the evening of July 28 or on July 29. Trump's new deadline would expire between August 7 and 9. Trump previously stated on July 14 that Putin had 50 days (September 2) to conclude a peace agreement with Ukraine or face "severe” 100 percent secondary tariffs on its trade partners.[iii]

 

Kremlin officials continue to frame Russia as in direct geopolitical confrontation with the West in order to generate domestic support for the war in Ukraine and future Russian aggression against NATO. Russian Foreign Minister Sergei Lavrov claimed at a Russian youth forum on July 28 that “Russia is fighting alone against the entire West... for the first time in history” and that Russia “must rely on [itself].”[iv] Lavrov claimed that Russia has "no allies on the battlefield," unlike during the first and second World Wars. Lavrov’s claim that Russia is operating alone in its war in Ukraine ignores the current support that Russia receives from North Korea, Iran, and the People's Republic of China (PRC). North Korea has sent ballistic missiles, artillery shells, and North Korean troops to support Russia's war effort against Ukraine, and there are economic and political signs of a growing rapprochement between Russia and North Korea.[v] Iranian Shahed drones have played a key role in Russia‘s air campaigns against Ukrainian cities throughout the war, and Iran's assistance has allowed Russia to become self-sufficient in producing the Shahed-variants that Russian forces are increasingly leveraging in frontline strikes.[vi] Russia largely depends on the PRC for support in Russia's ongoing sanctions evasion schemes, and Chinese companies provide critical dual-use components and microelectronics for Russian military technology.[vii] Strengthening relationships between Russia, Iran, North Korea, and the PRC constitute a growing threat to Western security, and Russia is actively pursuing a global anti-Western alliance. Lavrov's statements also underscore the Kremlin's efforts to install an informal state ideology that perpetuates the idea that the West is in an existential conflict with Russia in order to foster unquestioning support of the Russian government.[viii]

 

Lavrov additionally claimed that Russia had “no alternative” to launching its war in Ukraine as Russia needed to protect Russian-language speakers in Ukraine, a routine narrative that Russian officials use to justify Russian aggression against Ukraine.[ix] Lavrov claimed that Russia must insist on its “legitimate” demand: “no drawing Ukraine into NATO, no expansion of NATO at all," and recognition of Russia's illegal annexation of Luhansk, Donetsk, Zaporizhia, and Kherson oblasts and Crimea. Lavrov's statements reinforce the Kremlin's commitment to its war goals in Ukraine to the Russian public, and specifically Russian youth. The Kremlin has devoted a significant amount of time and energy to generating domestic support for the war, and Russian state and independent polling suggest that most Russians support continuing the war in Ukraine until Russia achieves its war aims of Ukrainian "denazification," demilitarization, and neutrality.[x] Russian society's commitment to achieving Russia's war aims, which the Kremlin has worked hard to foster, will make it much harder for Russian President Vladimir Putin to present any peace agreement that falls far short of his stated aims as a victory to his domestic audience. Putin is unlikely to make any concessions in his war aims unless he is forced to do so by significant Ukrainian battlefield victories, as any negotiated end to the war that does not achieve all of Putin's objectives would call into question the success, and, potentially, wisdom of Russia's military campaign in Ukraine.

 

Key Takeaways:

  • US President Donald Trump announced a new deadline for Russian President Vladimir Putin to negotiate an end to Russia’s war against Ukraine no later than August 9.
  • Kremlin officials continue to frame Russia as in direct geopolitical confrontation with the West in order to generate domestic support for the war in Ukraine and future Russian aggression against NATO.
  • Russian forces recently advanced in the Lyman, Toretsk, Novopavlivka, and Velyka Novosilka directions.

 

We do not report in detail on Russian war crimes because these 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 the Ukrainian population and specifically on combat in Ukrainian urban areas. We utterly condemn Russian violations of the laws of armed conflict and the Geneva Conventions and crimes against humanity even though we do not describe them in these reports.  

 

  • Ukrainian Operations in the Russian Federation
  • Russian Supporting Effort – Northern Axis
  • Russian Main Effort – Eastern Ukraine (comprised of three subordinate main efforts)
  • Russian Subordinate Main Effort #1 – Push Ukrainian forces back from the international border with Belgorod Oblast and approach to within tube artillery range of Kharkiv City
  • Russian Subordinate Main Effort #2 – Capture the remainder of Luhansk Oblast and push westward into eastern Kharkiv Oblast and encircle northern Donetsk Oblast
  • Russian Subordinate Main Effort #3 – Capture the entirety of Donetsk Oblast, the claimed territory of Russia’s proxies in Donbas, and possibly advance into Dnipropetrovsk Oblast
  • Russian Supporting Effort – Southern Axis
  • Russian Air, Missile, and Drone Campaign
  • Significant Activity in Belarus

 

 

Ukrainian Operations in the Russian Federation

 

Russian forces continued limited attacks in unspecified areas of Kursk Oblast on July 27 and 28.[xi]

 

Russian Supporting Effort – Northern Axis (Russian objective: Create defensible buffer zones in northern Ukraine along the international border and approach to within tube artillery range of Sumy City)

 

Fighting continued in northern Sumy Oblast on July 28.

 

Unconfirmed claims: A Russian milblogger claimed that Ukrainian forces advanced near Varachyne (northeast of Sumy City) and pushed back elements of the Russian 1443rd Motorized Rifle Regiment (reportedly of the 18th Motorized Rifle Division, 11th Army Corps [AC], Leningrad Military District [LMD]) from unspecified recently Russian-seized positions.[xii] Another milblogger claimed that Russian forces advanced north of Kindrativka (north of Sumy City).[xiii]

 

Russian forces conducted limited attacks in unspecified areas of northern Sumy Oblast on July 27 and 29.[xiv] Russian milbloggers claimed that Ukrainian forces counterattacked northeast of Sumy City near Yunakivka and north of Sumy City near Andriivka and Oleksiivka.[xv] A milblogger claimed that Ukrainian forces are using drones to prevent elements of the Russian 177th Naval Infantry Regiment (Caspian Flotilla) from crossing the international border into Sumy Oblast.[xvi]

 

The spokesperson of a Ukrainian border guard detachment operating in Sumy Oblast stated that Russian forces are leveraging two separate offensive tactics in northern Sumy Oblast.[xvii] The spokesperson stated that Russian forces are mainly shelling the international border between Ukraine and Russia and that Russian forces near Khotin (north of Sumy City) and Yunakivka are also assaulting the settlements in small infantry groups of three to five personnel without mechanized vehicles The spokesperson also stated that Russian forces conducted over 30 guided glide bomb strikes against Ukrainian positions in Sumy Oblast from July 27 to 28.

 

A Russian milblogger claimed that Russian forces struck Ukrainian positions in Lyzunivka and Zinovo (both northwest of Sumy City) using Geran-2 drones and also struck Ukrainian positions in Zhadove, Chernihiv Oblast, using a Lancet drone.[xviii] Another milblogger claimed that Ukrainian forces are targeting communications of the Russian 76th Airborne (VDV) Division near Yunakivka.[xix]

 

Order of battle: Drone operators of the Russian 106th VDV Division are reportedly striking Ukrainian positions in Sumy Oblast.[xx] Elements of the 83rd Separate VDV Brigade are reportedly operating near Yablunivka (northeast of Sumy City).[xxi] Elements of the 51st VDV Regiment (106th VDV Division) are reportedly operating near Sadky (northeast of Sumy City).[xxii] Elements of the 9th Motorized Rifle Regiment (18th Motorized Rifle Division, 11th AC, LMD) are reportedly operating in Kostyantynivka (north of Sumy City).[xxiii]

 

Russian Main Effort – Eastern Ukraine

 

Russian Subordinate Main Effort #1 – Kharkiv Oblast (Russian objective: Push Ukrainian forces back from the international border with Belgorod Oblast and approach to within tube artillery range of Kharkiv City)

 

Russian forces conducted offensive operations in northern Kharkiv Oblast on July 28 but did not make confirmed advances.

 

Unconfirmed claims: A Russian milblogger claimed that Russian forces advanced east of Vovchansk (northeast of Kharkiv City).[xxiv]

 

Russian forces attacked northeast of Kharkiv City near Zelene and Vovchansk on July 27 and 28.[xxv]

 

Order of battle: Drone operators of the Russian Chechen Zapad-Akhmat Battalion are reportedly striking Ukrainian positions near Vovchansk.[xxvi]

 

Russian forces conducted offensive operations in the Velykyi Burluk direction on July 28 but did not make confirmed advances.

 

Unconfirmed claims: Russian milbloggers claimed that Russian forces advanced north and southeast of Khatnie and southeast of Zarubynka (both northeast of Velykyi Burluk).[xxvii]

 

Russian forces attacked northeast of Velykyi Burluk near Milove on July 28.[xxviii] A Russian milblogger claimed that Ukrainian forces counterattacked south of Chuhnivka (northeast of Velykyi Burluk).[xxix]

 

Russian Subordinate Main Effort #2 – Luhansk Oblast (Russian objective: Capture the remainder of Luhansk Oblast and push westward into eastern Kharkiv Oblast and northern Donetsk Oblast)

 

Russian forces continued offensive operations in the Kupyansk direction on July 28 but did not make confirmed advances.

 

Unconfirmed claims: A Russian milblogger claimed that Russian forces advanced east of Kupyansk.[xxx]

 

Russian forces attacked near Kupyansk itself; northeast of Kupyansk near Krasne Pershe and Fyholivka and toward Petro-Ivanivka; north of Kupyansk near Radkivka, Zapadne, Kindrashivka, and Holubivka; northwest of Kupyansk near Myrne and Sobolivka; east of Kupyansk near Petropavlivka; and southeast of Kupyansk near Stepova Novoselivka on July 27 and 28.[xxxi]

 

A Ukrainian reserve officer stated on July 28 that Russian forces recently changed tactics in the Kupyansk direction after failing to advance from Radkivka and are now attempting to flank Kupyansk from the west.[xxxii]

 

Russian forces continued offensive operations in the Borova direction on July 28 but did not advance.

 

Russian forces attacked northeast of Borova near Bohuslavka and Zahryzove and southeast of Borova near Novoyehorivka and Hrekivka on July 27 and 28.[xxxiii]


Russian forces recently advanced in the Lyman direction.

 

Assessed Russian advances: Geolocated footage published on July 28 indicates that Russian forces recently advanced northwest of Zelena Dolyna (north of Lyman).[xxxiv] Russian forces may be attempting to advance to and ford the Oskil River to establish cross-river positions for future assaults.

 

Unconfirmed claims: A Russian milblogger claimed that Russian forces advanced west of Zelena Dolyna and to central Ridkodub (north of Lyman).[xxxv]

 

Russian forces attacked northwest of Lyman near Karpivka and toward Serednie and Shandryholove; north of Lyman near Zelena Dolyna; northeast of Lyman near Yampolivka and Myrne; and southeast of Lyman in the Serebryanske forest area on July 27 and 28.[xxxvi]

Order of Battle: Drone operators of the Russian 16th Spetsnaz Brigade (Russian General Staff's Main Directorate [GRU]) are reportedly striking Ukrainian positions in the Serebryanske forest area.[xxxvii]

 

Russian Subordinate Main Effort #3 – Donetsk Oblast (Russian objective: Capture the entirety of Donetsk Oblast, the claimed territory of Russia’s proxies in Donbas, and possibly advance into Dnipropetrovsk Oblast)

 

Russian forces continued offensive operations in the Siversk direction on July 28 but did not make confirmed advances.

 

Unconfirmed claims: Russian milbloggers claimed that Russian forces seized the "Ugolek" Camp near Lake Chernikhove (northwest of Siversk) and advanced northwest of Ivano-Darivka (southwest of Siversk).[xxxviii]

 

Russian forces attacked toward Siversk itself, northeast of Siversk near Hryhorivka and Serebryanka and toward Dronivka, east of Siversk near Verkhnokamyanske, and southeast of Siversk toward Vyimka on July 27 and 28.[xxxix]

 

A Kremlin-affiliated milblogger claimed that the initial footage of a large-scale Russian mechanized assault near Siversk on July 27 shows mechanized assault tactics that are reminiscent of previous assaults attempted by the now-removed Russian military command of unspecified units operating in the Siversk direction, but that Russian military command ultimately acted in the best interest of Russian personnel, unlike under previous leadership.[xl] Russian authorities arrested the commander of the 3rd Combined Arms Army (CAA), which mainly operates in the Siversk direction, in November 2024 for exaggerating Russian advances in the area.[xli] The milblogger stated that Russian forces deployed three to four unmanned aerial vehicles (UAVs) to provide fire cover for each armored vehicle, as well as rocket artillery and munitions. The milblogger claimed that the armored column did not storm Siversk, instead retreating to save Russian personnel, and only two tank crews broke through and approached the outskirts of Siversk. The milblogger claimed that Russian forces launched two additional columns of armored vehicles but one withdrew before Ukrainian forces began striking and the other dispersed to avoid strikes. The milblogger credited improvements in Russian positions in the Siversk direction to the Russian military command's concern with manpower conservation.

 

Russian forces continued offensive operations in the Chasiv Yar direction on July 28 but did not make confirmed advances.

 

Unconfirmed claims: Russian milbloggers claimed on July 28 that Russian forces seized heights near Bila Hora (south of Chasiv Yar), and advanced southwest of Chasiv Yar.[xlii]

 

Russian forces attacked in Chasiv Yar itself; east of Chasiv Yar near Ivanivske; southeast of Chasiv Yar near Klishchiivka; and south of Chasiv Yar near Stupochky, Bila Hora, and Predtechyne on July 27 and 28.[xliii]

 

Order of Battle: Elements of the Russian 103rd Motorized Rifle Regiment and the 68th Tank Regiment (both of the 150th Motorized Rifle Division, 8th Combined Arms Army [CAA], Southern Military District [SMD]), as well as elements of the 20th Motorized Rifle Regiment (possibly a reformed Soviet unit) and drone operators of the Rubikon Center for Advanced Unmanned Technologies are reportedly operating in the Kostyantynivka (Chasiv Yar) direction.[xliv]

 

Russian forces recently advanced in the Toretsk direction.

 

Assessed Russian advances: Geolocated footage published on July 27 indicates that Russian forces recently advanced marginally west of Poltavka (northwest of Toretsk).[xlv]

 

Unconfirmed claims: Russian milbloggers claimed that Russian forces advanced northeast of Shcherbynivka (west of Toretsk), east of Oleksandro-Kalynove (northwest of Toretsk), and northwest of Popiv Yar (northwest of Toretsk).[xlvi]

 

Russian forces attacked in Toretsk itself; north of Toretsk near Dyliivka; northwest of Toretsk near Yablunivka, Rusyn Yar, Poltavka, Novoolenivka, Popiv Yar, and Oleksandro-Kalynove; southwest of Toretsk near Zorya; and west of Toretsk near Shcherbynivka on July 27 and 28.[xlvii] A Russian milblogger claimed that Ukrainian forces counterattacked in western and northern Volodymyrivka (northwest of Toretsk).[xlviii]

 

Order of Battle: Drone operators of the Russian BARS-13 Pisarev Detachment (Russian Combat Army Reserve) are reportedly striking Ukrainian positions near Dyliivka.[xlix]

 

Russian forces continued offensive operations in the Pokrovsk direction on July 28 but did not make confirmed advances.

Unconfirmed claims: Russian sources reiterated claims that Russian sabotage and reconnaissance groups are operating in Pokrovsk and Myrnohrad (east of Pokrovsk) and that Russian forces advanced into Rodynske (north of Pokrovsk).[l] The Russian Ministry of Defense (MoD) claimed that Russian forces seized Boikivka (northeast of Pokrovsk) and advanced north of Shevchenko (south of Pokrovsk).[li] Russian milbloggers claimed that Russian forces advanced east of Volodymyrivka and Nykanorivka and southwest of Novoekonomichne (all northeast of Pokrovsk) and north of Udachne (southwest of Pokrovsk).[lii]

 

Russian forces attacked near Pokrovsk itself; north of Pokrovsk near Rodynske and toward Bilytske; northeast of Pokrovsk near Mayak, Razine, Volodymyrivka, Myrolyubivka, Zapovidne, and Novoekonomichne; east of Pokrovsk near Myrnohrad; southeast of Pokrovsk near Lysivka; south of Pokrovsk near Chunyshyne, Dachenske, Vidrozdennya, and Novoukrainka; and southwest of Pokrovsk near Pishchane, Zvirove, Kotlyne, and Udachne on July 27 and 28.[liii]

 

The spokesperson of a Ukrainian brigade operating southwest of Pokrovsk stated that Russian assaults are currently less intense in the brigade's area of responsibility (AoR) compared to fighting during late May 2025.[liv]

 

Order of Battle: Ukrainian military observer Kostyantyn Mashovets stated on July 28 that elements of the Russian 41st CAA (Central Military District [CMD]) and 51st CAA (formerly 1st Donetsk People's Republic Army Corps [DNR AC], SMD) recently intensified assaults northeast of Pokrovsk and that elements of the 2nd CAA (CMD) are attacking Pokrovsk from the south.[lv] Mashovets stated that elements of the 5th Motorized Rifle Brigade (51st CAA) and 60th Motorized Rifle Brigade (5th CAA, Eastern Military District [EMD]) recently seized Myrolyubivka and Novoekonomichne and are attacking toward Myrnohrad.[lvi] ISW has not previously observed elements of the 60th Motorized Rifle Brigade operating in the Pokrovsk direction, and ISW last observed elements of the brigade operating in the Velyka Novosilka and Kursk directions in January and February 2025.[lvii] The Russian military command likely recently redeployed elements of the brigade to the Pokrovsk direction from either the Velyka Novosilka or Kursk direction. Mashovets stated that elements of the 51st CAA's 132nd and 110th motorized rifle brigades are attacking toward Dobropillya (north of Pokrovsk) and that elements of the 1441st and 1435th motorized rifle regiments (both likely comprised of personnel who were enlisted during Russia's 2022 partial reserve call up) recently seized Zvirove. Mashovets estimated that the Russian military command has concentrated 110,000–112,000 troops in the Pokrovsk direction to envelop Pokrovsk and Myrnohrad.[lviii] Drone operators of the Vega Spetsnaz Detachment and elements of the 255th Motorized Rifle Regiment (20th Motorized Rifle Division, 8th CAA, SMD) are reportedly operating in the Pokrovsk direction.[lix]

 

Russian forces recently advanced in the Novopavlivka direction.

Assessed Russian advances: Geolocated footage published on July 25 indicates that Russian forces recently advanced west of Horikhove (southeast of Novopavlivka).[lx]

 

Unconfirmed claims: A Russian milblogger claimed that Russian forces advanced west of Zelenyi Hai toward Ivanivka, Dnipropetrovsk Oblast (both southwest of Novopavlivka).[lxi]

 

Russian forces attacked near Novopavlivka itself; northeast of Novopavlivka near Novomykolaivka and Novoserhiivka; southeast of Novopavlivka near Horikhove, Bohdanivka, Troitske, Zelenyi Kut, Oleksiivka, and Dachne, Dnipropetrovsk Oblast; south of Novopavlivka near Filiya; and southwest of Novopavlivka near Piddubne, Myrne, Tovste, Zelenyi Hai, Oleksandrohrad, and Voskresenka and toward Andriivka-Klevtsove and Sichneve on July 27 and 28.[lxii] A Russian milblogger claimed that Ukrainian forces are counterattacking near Andriivka-Klevtsove.[lxiii]

 

The spokesperson of a Ukrainian brigade operating in the Novopavlivka direction reported that Russian forces are struggling to advance near Horikhove.[lxiv]

 

Order of Battle: Mashovets stated that elements of the Russian 114th Motorized Rifle Brigade (51st CAA) reinforced by elements of the 80th Tank Regiment (90th Tank Division, 41st CAA) are advancing north of Oleksiivka toward Dachne, but that elements of the 90th Tank Division are struggling to advance west of Kotlyarivka (east of Novopavlivka).[lxv] Elements of the Russian 56th Separate Spetsnaz Battalion of the 51st CAA are reportedly operating in the Novopavlivka direction, and drone operators of the 14th Spetsnaz Brigade (Russian General Staff's Main Directorate [GRU]) struck Ukrainian positions near Sichneve.[lxvi]

 

Russian forces recently advanced in the Velyka Novosilka direction.

 

Assessed Russian advances: Geolocated footage published on July 28 indicates that Russian forces recently advanced northwest of Novosilka (west of Velyka Novosilka).[lxvii]

 

Unconfirmed claims: A Russian milblogger claimed that Russian forces advanced west of Maliivka toward Vorone, Dnipropetrovsk Oblast (both northwest of Velyka Novosilka).[lxviii]

 

Russian forces attacked northwest of Velyka Novosilka near Shevchenko and toward Komyshuvakha, and west of Velyka Novosilka near Zelene Pole and Novosilka and toward Temyrivka, Zaporizhia Oblast, and southwest of Velyka Novosilka near Novodarivka on July 27 and 28.[lxix]

 

Order of Battle: Drone operators of the Russian 77th Separate Reconnaissance Battalion of the 127th Motorized Rifle Division (5th CAA) are reportedly striking Ukrainian forces near Komyshuvakha.[lxx]

 

Russian Supporting Effort – Southern Axis (Russian objective: Maintain frontline positions, secure rear areas against Ukrainian strikes, and advance within tube artillery range of Zaporizhzhia City)

 

Neither Ukrainian nor Russian sources reported ground activity in the Hulyaipole direction on July 28.

 

Ukraine's Southern Operational Command reported that Russian forces are not currently conducting ground assaults in the Hulyaipole and Orikhiv directions in order to regroup, conduct reconnaissance, and prepare logistics for a resumption of assaults.[lxxi]


Russian forces continued offensive operations in western Zaporizhia Oblast on July 28 but did not advance.

 

Russian forces attacked west of Orikhiv near Kamyanske, Plavni, and Stepnohirsk on July 28.[lxxii] A Russian milblogger claimed on July 27 that Ukrainian forces counterattacked in Stepnohirsk.[lxxiii]

 

A Russian milblogger claimed on July 28 that Russian forces struck Zaporizhzhia City using FAB glide bombs equipped with unified gliding and correction modules (UMPCs).[lxxiv] Another milblogger claimed that Ukrainian drone activity in western Zaporizhia Oblast is complicating Russian attempts to advance near Stepnohirsk.[lxxv]

 

Order of Battle: Elements of the Russian 7th Airborne (VDV) Division are reportedly operating near Plavni.[lxxvi]

 

Russian forces continued limited assaults in unspecified areas of the Kherson direction on July 27 and 28 but did not advance.[lxxvii]

 

A Russian milblogger claimed on July 28 that Ukrainian and Russian forces are operating in the Dnipro River floodplain and are attacking across the river in order to seize islands.[lxxviii]

 

Order of Battle: Elements of the Russian 104th VDV Regiment (76th VDV Division) are reportedly operating near Krynky (northeast of Kherson City), and elements of the 61st Naval Infantry Brigade (Northern Fleet) are reportedly operating in the Kherson direction.[lxxix]

 

Russian Air, Missile, and Drone Campaign (Russian Objective: Target Ukrainian military and civilian infrastructure in the rear and on the frontline)

 

Russian forces conducted a series of drone strikes against Ukraine on the night of July 27 to 28. The Ukrainian Air Force reported that Russian forces launched four Kh-101 cruise missiles from the airspace over Saratov Oblast, three Kh-47 Kinzhal aeroballistic missiles from the airspace over Lipetsk Oblast, and 324 Shahed and decoy drones from the directions of Kursk and Bryansk cities; Millerovo, Rostov Oblast; Shatalovo, Smolensk Oblast; and Primorsko-Akhtarsk, Krasnodar Krai.[lxxx] The Ukrainian Air Force reported that Ukrainian forces downed two Kh-101 missiles and that the three Kh-47 Kinzhal missiles did not reach their targets. The Ukrainian Air Force reported that Ukrainian air defenses downed 309 drones, and that Russian forces struck in 3 locations and drone debris fell in several places. The Ukrainian Air Force reported that Russian forces primarily targeted Starokostyantyniv, Khmelnytskyi Oblast. Ukrainian officials reported that the strikes injured eight people in Kyiv City and hit targets, including civilian and residential infrastructure, in Kharkiv Oblast; Kropyvnytskyi, Kirovohrad Oblast; Kyiv City; and Mykolaiv Oblast.[lxxxi]

 

Significant activity in Belarus (Russian efforts to increase its military presence in Belarus and further integrate Belarus into Russian-favorable frameworks)

 

Nothing significant to report.

 

Note: ISW does not receive any classified material from any source, uses only publicly available information, and draws extensively on Russian, Ukrainian, and Western reporting and social media as well as commercially available satellite imagery and other geospatial data as the basis for these reports. References to all sources used are provided in the endnotes of each update.


[i] https://rollcall.com/factbase/trump/transcript/donald-trump-remarks-welcome-keir-starmer-united-kingdom-july-28-2025/

[ii] https://rollcall.com/factbase/trump/transcript/donald-trump-remarks-bilat-starmer-united-kingdom-july-28-2025/

[iii] https://isw.pub/UkrWar071425

[iv] https://www.rbc dot ru/politics/28/07/2025/688746759a794772781fef2a; https://tass dot ru/politika/24645141

[v] https://isw.pub/UkrWar050925; https://isw.pub/UkrWar043025; https://isw.pub/UkrWar042825; https://isw.pub/UkrWar020625; https://isw.pub/UkrWar122624; https://isw.pub/UkrWar022725; https://isw.pub/UkrWar030125; https://isw.pub/UkrWar041625; https://isw.pub/UkrWar020925; https://isw.pub/UkrWar061725; https://isw.pub/UkrWar032125; https://isw.pub/UkrWar022825; https://isw.pub/UkrWar020825; https://isw.pub/UkrWar061025; https://isw.pub/UkrWar052525

[vi] https://isw.pub/UkrWar051025 ; https://isw.pub/UkrWar042225; https://isw.pub/UkrWar062725; https://isw.pub/UkrWar070825; https://isw.pub/UkrWar062125; https://isw.pub/UkrWar112924; https://isw.pub/UkrWar101124; https://isw.pub/UkrWar092524; https://isw.pub/UkrWar090624; https://isw.pub/UkrWar072724; https://isw.pub/UkrWar052824; https://isw.pub/UkrWar050824; https://isw.pub/UkrWar040224; https://isw.pub/UkrWar123123; https://isw.pub/UkrWar113023; https://isw.pub/UkrWar072523; https://isw.pub/UkrWar050423; https://isw.pub/UkrWar12312022; http://isw.pub/RusCampaignAugust5; https://isw.pub/RusCampaignSept29

[vii] https://isw.pub/UkrWar050825 https://isw.pub/UkrWar042925

[viii] https://www.understandingwar.org/backgrounder/russian-offensive-campaign-assessment-july-11-2025; https://www.understandingwar.org/backgrounder/russian-offensive-campaign-assessment-may-22-2025; https://www.understandingwar.org/backgrounder/russian-offensive-campaign-assessment-may-6-2025

 

[ix] https://www.rbc dot ru/politics/28/07/2025/688746759a794772781fef2a; https://tass dot ru/politika/24645141 ; https://www.understandingwar.org/backgrounder/russian-offensive-campaign-assessment-may-28-2025 ; https://www.understandingwar.org/backgrounder/russian-offensive-campaign-assessment-april-30-2025;

[x] https://isw.pub/UkrWar051825 ; https://isw.pub/UkrWar05022025 ; https://understandingwar.org/backgrounder/russian-offensive-campaign-assessment-february-24-2025

[xi] https://t.me/GeneralStaffZSU/27138; https://t.me/GeneralStaffZSU/27105; https://www.facebook.com/GeneralStaff.ua/posts/pfbid0QyJWzHo3fav7AWxCUc49YPQWhE3ZPcKJBHfdzJGQ5467v9bar4bP532R1BcdVdpPl

[xii] https://t.me/severnnyi/4679

[xiii] https://t.me/wargonzo/28114

[xiv] https://t.me/GeneralStaffZSU/27138; https://t.me/GeneralStaffZSU/27105; https://www.facebook.com/GeneralStaff.ua/posts/pfbid0QyJWzHo3fav7AWxCUc49YPQWhE3ZPcKJBHfdzJGQ5467v9bar4bP532R1BcdVdpPl

[xv] https://t.me/wargonzo/28114; https://t.me/dva_majors/76186; https://t.me/severnnyi/4674

[xvi] https://t.me/severnnyi/4679

[xvii] https://armyinform dot com.ua/2025/07/28/aktyvizacziyi-dyversijnyh-grup-ne-bachymo-na-sumskij-dilyanczi-kordonu-vidbyvayut-rosijski-shturmy/

[xviii] https://t.me/milinfolive/153684

[xix] https://t.me/severnnyi/4679  

[xx] https://t.me/RVvoenkor/96695; https://t.me/epoddubny/24185

[xxi] https://t.me/severnnyi/4679

[xxii] https://t.me/severnnyi/4679

[xxiii] https://t.me/severnnyi/4679

[xxiv] https://t.me/wargonzo/28114

[xxv] https://t.me/smotri_z/46948; https://t.me/GeneralStaffZSU/27138; https://www.facebook.com/GeneralStaff.ua/posts/pfbid0QyJWzHo3fav7AWxCUc49YPQWhE3ZPcKJBHfdzJGQ5467v9bar4bP532R1BcdVdpPl ; https://t.me/GeneralStaffZSU/27105; https://t.me/dva_majors/76186; https://t.me/DnevnikDesantnika/31732; https://t.me/wargonzo/28114

[xxvi] https://t.me/RKadyrov_95/5871

[xxvii] https://t.me/voenkorKotenok/66242; https://t.me/DnevnikDesantnika/31732

[xxviii] https://t.me/dva_majors/76186

[xxix] https://t.me/DnevnikDesantnika/31732

[xxx] https://t.me/wargonzo/28114

[xxxi] https://t.me/GeneralStaffZSU/27138; https://www.facebook.com/GeneralStaff.ua/posts/pfbid0QyJWzHo3fav7AWxCUc49YPQWhE3ZPcKJBHfdzJGQ5467v9bar4bP532R1BcdVdpP; https://t.me/GeneralStaffZSU/27105; https://t.me/RVvoenkor/96663; https://t.me/Khortytsky_wind/14630; https://t.me/wargonzo/28114; https://t.me/voenkorKotenok/66242; https://t.me/wargonzo/28114

[xxxii] https://x.com/Tatarigami_UA/status/1949753307242889603

[xxxiii] https://t.me/GeneralStaffZSU/27138; https://www.facebook.com/GeneralStaff.ua/posts/pfbid0QyJWzHo3fav7AWxCUc49YPQWhE3ZPcKJBHfdzJGQ5467v9bar4bP532R1BcdVdpP; https://t.me/GeneralStaffZSU/27105; https://t.me/Khortytsky_wind/14630  

[xxxiv] https://t.me/creamy_caprice/9677; https://t.me/mara_BBpS/190

[xxxv] https://t.me/z_arhiv/32143

[xxxvi] https://t.me/GeneralStaffZSU/27138; https://www.facebook.com/GeneralStaff.ua/posts/pfbid0QyJWzHo3fav7AWxCUc49YPQWhE3ZPcKJBHfdzJGQ5467v9bar4bP532R1BcdVdpP; https://t.me/GeneralStaffZSU/27105; https://t.me/Khortytsky_wind/14630

[xxxvii] https://t.me/boris_rozhin/173973

[xxxviii] https://t.me/voenkorKotenok/66232; https://t.me/rybar/72459

[xxxix] https://t.me/GeneralStaffZSU/27138; https://www.facebook.com/GeneralStaff.ua/posts/pfbid0QyJWzHo3fav7AWxCUc49YPQWhE3ZPcKJBHfdzJGQ5467v9bar4bP532R1BcdVdpPl; https://t.me/GeneralStaffZSU/27105; https://t.me/Khortytsky_wind/14630

[xl] https://t.me/rybar/72459

[xli] https://isw.pub/UkrWar112324

[xlii] https://t.me/voenkorKotenok/66232 ; https://t.me/wargonzo/28114

[xliii] https://t.me/GeneralStaffZSU/27138; https://www.facebook.com/GeneralStaff.ua/posts/pfbid0QyJWzHo3fav7AWxCUc49YPQWhE3ZPcKJBHfdzJGQ5467v9bar4bP532R1BcdVdpPl; https://t.me/GeneralStaffZSU/27105; https://t.me/Khortytsky_wind/14630; https://t.me/wargonzo/28114

[xliv] https://t.me/RVvoenkor/96673 ; https://t.me/RVvoenkor/96667

[xlv] https://x.com/RoadtoMars9/status/1949376600019230825; https://t.me/fakhivtsi/382

[xlvi] https://t.me/wargonzo/28114; https://t.me/z_arhiv/32137

[xlvii] https://t.me/GeneralStaffZSU/27138; https://www.facebook.com/GeneralStaff.ua/posts/pfbid0QyJWzHo3fav7AWxCUc49YPQWhE3ZPcKJBHfdzJGQ5467v9bar4bP532R1BcdVdpPl; https://t.me/GeneralStaffZSU/27105; https://t.me/Khortytsky_wind/14630

[xlviii] https://t.me/voenkorKotenok/66233

[xlix] https://x.com/AudaxonX/status/1949512589102178749 ; https://t.me/bars_13_Pisar_Kom/931

[l] https://t.me/tass_agency/327770 ; https://t.me/tass_agency/327771 ; https://t.me/tass_agency/327773 ; https://t.me/dva_majors/76186 ; https://t.me/rusich_army/24908

 

[li] https://t.me/tass_agency/327830 ; https://t.me/mod_russia/55077 ; https://t.me/mod_russia/55078

 

[lii] https://t.me/z_arhiv/32137 ; https://t.me/wargonzo/28114

[liii] https://t.me/GeneralStaffZSU/27138 ; https://www.facebook.com/GeneralStaff.ua/posts/pfbid0QyJWzHo3fav7AWxCUc49YPQWhE3ZPcKJBHfdzJGQ5467v9bar4bP532R1BcdVdpP ; https://t.me/GeneralStaffZSU/27105 ; https://t.me/rusich_army/24908

[liv] https://www.youtube.com/watch?v=ZVMUSS0B0yo ; https://armyinform.com dot ua/2025/07/28/prosto-jdut-yak-zombi-cherez-pole-rosiyany-ne-prypynyayut-sprob-otochyty-pokrovsk/

[lv] https://t.me/zvizdecmanhustu/2893

[lvi] https://t.me/zvizdecmanhustu/2894

[lvii] https://www.understandingwar.org/backgrounder/russian-offensive-campaign-assessment-january-11-2025 ; https://understandingwar.org/backgrounder/russian-offensive-campaign-assessment-january-18-2025 ; https://understandingwar.org/backgrounder/russian-offensive-campaign-assessment-february-21-2025

[lviii] https://t.me/zvizdecmanhustu/2893

[lix] https://t.me/sashakots/55161; https://t.me/dva_majors/76178

[lx] https://t.me/creamy_caprice/9675; https://t.me/ombr72/11186

[lxi] https://t.me/voenkorKotenok/66230

[lxii] https://t.me/GeneralStaffZSU/27138 ; https://www.facebook.com/GeneralStaff.ua/posts/pfbid0QyJWzHo3fav7AWxCUc49YPQWhE3ZPcKJBHfdzJGQ5467v9bar4bP532R1BcdVdpP ; https://t.me/GeneralStaffZSU/27105 ; https://t.me/voenkorKotenok/66230; https://t.me/wargonzo/28114

[lxiii] https://t.me/voin_dv/16203

[lxiv] https://suspilne dot media/donbas/1077473-v-rajoni-gorihovogo-na-doneccini-rosijski-vijska-ne-maut-prosuvan-79-odsbr/

[lxv] https://t.me/zvizdecmanhustu/2894 ; https://t.me/zvizdecmanhustu/2895

[lxvi] https://t.me/nm_dnr/14114 ; https://t.me/voin_dv/16210

[lxvii] https://t.me/creamy_caprice/9676; https://t.me/ok_pivnich1/15150

 

[lxviii] https://t.me/voenkorKotenok/66230

[lxix] https://t.me/GeneralStaffZSU/27138 ; https://www.facebook.com/GeneralStaff.ua/posts/pfbid0QyJWzHo3fav7AWxCUc49YPQWhE3ZPcKJBHfdzJGQ5467v9bar4bP532R1BcdVdpP ; https://t.me/GeneralStaffZSU/27105

 

[lxx] https://t.me/voin_dv/16206

[lxxi] https://www.facebook.com/OperationalCommandSouth/posts/pfbid02RHy8wLLaxx685mPtXcnv2HPh8naKUCJ1iYPjnGKYy81ucPTUVe8xt5wwXRqp6Tcl?__cft__[0]=AZUTwzyXnDNMP4z7lA9ND0VQVxFZqWEo5ekb8hcr1VHQzb8N4EUYJ7u3H1Ki1Mch0dq19OYFgXRTxqrJqFrZPn3_0JSPc4EO4CLX_m8lL0V_VwqaeiVsPpUSDaA_QdPePbpYb0B5b_bGgIj10uAmTzXu6YHi2zN-yr79kW_WNnv10LQt8meVyFOlveAn_zc_Hes&__tn__=%2CO%2CP-R

[lxxii] https://www.facebook.com/GeneralStaff.ua/posts/pfbid02T1aQXnuuVyv88ZQCaMbsyhpQmgfnfNTxLQFD8qEE1eKBaau79kSMFc967WNSSa9Gl ; https://t.me/dva_majors/76186 ; https://t.me/DnevnikDesantnika/31750 ; https://t.me/wargonzo/28114 ; https://t.me/dva_majors/76211; https://www.facebook.com/polk210/posts/pfbid02SanXCYwxvPr1ExEQReYaD3toDLxxEREF2cMZBWx9GGEGi5LDeAvhJFLBGcwCZDfSl; https://militarnyi dot com/en/news/210th-assault-regiment-destroys-enemy-recon-group-in-stepnohirsk/

[lxxiii] https://t.me/RVvoenkor/96672

[lxxiv] https://t.me/RVvoenkor/96683

[lxxv] https://t.me/DnevnikDesantnika/31750

[lxxvi] https://t.me/DnevnikDesantnika/31750

[lxxvii] https://www.facebook.com/GeneralStaff.ua/posts/pfbid0QyJWzHo3fav7AWxCUc49YPQWhE3ZPcKJBHfdzJGQ5467v9bar4bP532R1BcdVdpPl; https://t.me/GeneralStaffZSU/27105; https://www.facebook.com/OperationalCommandSouth/posts/pfbid02RHy8wLLaxx685mPtXcnv2HPh8naKUCJ1iYPjnGKYy81ucPTUVe8xt5wwXRqp6Tcl?__cft__[0]=AZUTwzyXnDNMP4z7lA9ND0VQVxFZqWEo5ekb8hcr1VHQzb8N4EUYJ7u3H1Ki1Mch0dq19OYFgXRTxqrJqFrZPn3_0JSPc4EO4CLX_m8lL0V_VwqaeiVsPpUSDaA_QdPePbpYb0B5b_bGgIj10uAmTzXu6YHi2zN-yr79kW_WNnv10LQt8meVyFOlveAn_zc_Hes&__tn__=%2CO%2CP-R

[lxxviii] https://t.me/dva_majors/76186; https://t.me/dva_majors/76187

[lxxix] https://t.me/DnevnikDesantnika/31787; https://t.me/dva_majors/76201; https://t.me/dva_majors/76226

[lxxx] https://t.me/kpszsu/39410 ; https://x.com/ZelenskyyUa/status/1949732303506124993

[lxxxi] https://t.me/synegubov/16122; https://www.facebook.com/andriy.raykovich/posts/pfbid02zFotnrz4s4idctFZFM4JQh7NBPFeMEUgBVSMG3zcHCxUoLsvBsFPVXHam6VjJkK6l?__cft__[0]=AZVyCGJ095lT0xNGuIWhE_EOWeMycF0uWLN7v51HFCGZpNYORMk_GvZqLKJS-LC2EFlXZTY2lOHhw6YEvZjkUWNTJFTB49hotDCc2vMNuhLTYLBfJbFOjuk7O7VaX-jYQ1Yp6_n9CkhmgBSqRwQq_arXb85rSUwi08peVyp-R280qA&__tn__=%2CO%2CP-R; https://suspilne dot media/kropyvnytskiy/1076911-u-kropivnickomu-ataka-droniv/; https://meduza dot io/news/2025/07/28/rossiyskie-voennye-udarili-po-kievu-povrezhden-zhiloy-dom; https://t.me/vitaliy_klitschko/5065; https://www.facebook.com/mykoda/posts/pfbid02thrDommcBVoyCB17BMyqpWUoin8JLimQheenU1PCuURpWQ4jk7hKZa94fXaF8vyl?__cft__[0]=AZXYWde_QI0aq83LKKdEQY0hTOICrR2HlocNSb6pyHH6EQbjnM0aa1xqdbfp-zO2tsk13L5Gd1ySGV_OpFsQOsDJyoCFzeMWL4DAJjgKSB_PoXgPIHICkRv2-MfjRr96doTyW7KK8ODci_xWrfHPy5rG2GTzDh9yfnh9fP1s8T3mmA&__tn__=%2CO%2CP-R; https://suspilne dot media/1076903-sili-oboroni-zvilnili-kindrativku-rf-vdarila-po-avtobusu-z-ludmi-na-sumsini-1251-den-vijni/?anchor=live_1753681848&utm_source=copylink&utm_medium=ps

View Citations