{{currentView.title}}
July 19, 2026
Russian Offensive Campaign Assessment, July 19, 2026
Assessment as of: 7 PM ET
Data Cutoff: 1: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.
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.
For more information on ISW’s map methodology, please view our statement here.
Note: Today’s update includes static maps only of areas in which noteworthy changes or events occurred.
Russian forces conducted one of their largest ballistic missile strikes thus far in the war on the night of July 18 to 19, predominantly targeting Kyiv Oblast. The Ukrainian Air Force reported on July 19 that Russian forces launched 40 missiles against Ukraine overnight, including 10 Zirkon anti-ship missiles, 25 Iskander-M/S-400 ballistic missiles, three Onyx anti-ship missiles, and three Kh-59/69 guided cruise missiles; and 125 Shahed-, Gerbera-, and Italmas-type strike drones; Banderol loitering munitions; and Parodiya-type decoy drones.[1] The Ukrainian Air Force reported that Ukrainian forces downed 108 drones, 17 Iskander-M/Zirkon/S-400 missiles, and one Kh-59/69 guided cruise missile. The Ukrainian Air Force reported that 23 missiles and 10 drones struck 20 locations and that debris fell on 18 locations. Ukrainian President Volodymyr Zelensky reported that Russian forces conducted one of the largest ballistic strike packages against Kyiv Oblast since 2022, primarily against Kyiv City, killing at least one civilian and injuring 16.[2] Zelensky stated that Russia has been stockpiling missiles for the past several days in preparation for the strike.[3] Ukrainian officials reported that Russian forces also struck civilian and energy infrastructure in Kharkiv, Mykolaiv, and Odesa oblasts.[4] The Ukrainian postal service Nova Poshta reported on July 19 that Russian forces conducted three strikes against the Nova Poshta sorting terminal in Kharkiv Oblast, killing three civilians, as part of an ongoing campaign targeting postal infrastructure.[5] Russian forces have been increasingly launching large ballistic missile packages, accompanied by a smaller number of drones, in recent weeks, as Russian forces are taking advantage of global Patriot interceptor missile shortages.[6]
Russian forces have launched more ballistic missiles against Ukraine thus far in July than Russia reportedly produces each month. Ukrainian defense source Militarnyi reported on July 19 that Russia used up to two-thirds of its planned annual production of Zirkon missiles in July 2026 alone and that Russia launched more ballistic missiles in July than Russia's reported total monthly production volume.[7] The Ukrainian Air Force reports for July indicate that Russia has launched 107 ballistic missiles and 20 Zirkon missiles against Ukraine in July thus far.[8] Militarny cited unspecified Ukrainian military intelligence (GUR) reports indicating that Russia produces about 60 Iskander-M ballistic missiles and 40 missiles for the S-400 complex monthly. Russia appears to be dipping into its stockpiles to continue increasing the number of ballistic missiles it launches against Ukraine, as these missiles have a higher success rate than drones and cruise missiles. Russian forces have simultaneously decreased the number of drones they launch in each overnight package, launching 2,955 thus far in July 2026 compared to 5,749 in June 2026.[9]
Ukrainian forces continued their strike campaign against Russian vessels in the Black Sea as part of the ongoing effort to deny Russia's ability to sustain logistics and transport fuel to occupied Crimea and to isolate the peninsula. The Ukrainian Security Service (SBU) reported on July 19 that Ukrainian forces struck the Russian shadow fleet tanker Avero in the Black Sea – one of four that Ukrainian forces struck from July 10 to 19.[10] Ukrainian Unmanned Systems Forces (USF) Commander Major Robert “Magyar” Brovdi reported on July 19 that Ukrainian forces struck 13 submarine stations in occupied Crimea and four Russian tankers in the Black Sea overnight.[11] Brovdi reported that Ukrainian forces have struck 176 Russian vessels in the Black Sea and Sea of Azov between July 6 and July 19. Brovdi reported that Ukrainian forces also struck and destroyed five Russian ferries – Lavrentiy, Panagiya, Eysk, Maria, and SKS-One – between July 6 and 19, which were responsible for around 80 percent of military transportation from the port of Kavkaz, Krasnodar Krai, to occupied Crimea, and degraded the Kerch ferry crossing's capacity by 75 percent.[12] The Ukrainian General Staff reported on July 19 that Ukrainian forces also struck a floating crane in the Sea of Azov that supported Russian maritime logistics.[13] The Caspian Pipeline Consortium claimed on July 19 that Ukrainian drones struck a Russian maritime terminal in Novorossiysk, Krasnodar Krai, causing fire and halting oil loading at the terminal.[14]
Ukrainian President Volodymyr Zelensky continues to meet with senior Ukrainian military commanders.[15] Zelensky stated on July 18 that he spoke with both Commander-in-Chief of the Armed Forces of Ukraine General Oleksandr Syrskyi and former Ukrainian Minister of Defense Mykhailo Fedorov.[16] Zelensky stated that he is aware of communication issues between the Ukrainian Army and other military structures and that “decisions regarding the army will be worked out.”[17]
Key Takeaways:
- Ukrainian forces continued their long-range strike campaign against Russian oil and energy infrastructure and naval vessels on July 18 and 19.
- Russian forces recently advanced in northern Sumy Oblast.

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
Ukrainian forces continued their long-range strike campaign against Russian oil infrastructure on the night of July 18 to 19. The Ukrainian Security Service (SBU) reported that Ukrainian forces struck three oil depots in Stavropol Krai at a distance of roughly 600 kilometers from the international border and caused large-scale fire and explosions at all three facilities.[18] Geolocated footage published on July 19 shows smoke rising from two fuel storage and distribution terminals in Mikhaylovsk, Stavropol Krai.[19] Stavropol Krai Governor Vladimir Vladimirov acknowledged that a Ukrainian drone strike caused explosions in Stavropol City.[20]
Russian Supporting Effort – Northern Axis (Russian objective: Create defensible buffer zones in Sumy Oblast along the international border)
Russian forces recently advanced in northern Sumy Oblast. Geolocated footage published on July 6 and 19 indicates that Russian forces advanced southwest of Komarivka (northwest of Sumy City) and south of Yablunivka (north of Sumy City).[21] A Russian milblogger claimed that Russian forces also advanced to eastern Ulanove and southeast of Bachivsk (both northwest of Sumy City).[22]

Russian Main Effort – Eastern Ukraine
Russian Subordinate Main Effort #1 – Kharkiv Oblast (Russian objective: Push Ukrainian forces back from the international border to create a defensible buffer zone with Belgorod Oblast and approach to within tube artillery range of Kharkiv City)
Russian forces continued offensive operations in northern Kharkiv Oblast on July 18 and 19 but did not make confirmed advances.[23] A Russian milblogger claimed that Russian forces advanced to Zakharivka (northeast of Kharkiv City).[24]
Russian forces continued limited offensive operations in the Velykyi Burluk direction on July 18 and 19 but did not advance.[25]
Russian Subordinate Main Effort #2 – Oskil River (Russian objective: Cross the Oskil River in Kharkiv Oblast and push westward into eastern Kharkiv Oblast and northern Donetsk Oblast)
Ukrainian forces recently maintained positions or advanced in Kupyansk. A Russian milblogger claimed that Ukrainian forces maintain positions in central Kupyansk in areas where Russian forces had previously infiltrated.[26]

Russian forces continued limited ground activity in the Borova direction on July 19 but did not advance.[27]
Ukrainian forces continued their intermediate-range strike campaign against Russian energy infrastructure in occupied Luhansk Oblast. Ukrainian Unmanned Systems Forces (USF) Commander Major Robert “Magyar” Brovdi reported on July 19 that Ukrainian forces struck electrical substations in occupied Bila Hora (roughly 38 kilometers from the frontline) and Bezhynove (roughly 76 kilometers from the frontline).[28]
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 advance into Dnipropetrovsk Oblast)
Russian forces continued offensive operations in the Slovyansk direction on July 18 and 19 but did not advance as Ukrainian forces counterattacked in the area.[29]
Ukrainian drone strikes are disrupting Russian logistics in the Lyman direction. A Ukrainian brigade operating in the Lyman direction reported on July 19 that Russian forces are transporting supplies on foot over tens of kilometers as Ukrainian drone strikes prevent Russian forces from using vehicles to transport supplies to frontline positions.[30]
Russian forces continued infiltration missions within Kostyantynivka. Geolocated footage published on July 7 shows Ukrainian forces striking a Russian position in central Kostyantynivka after what ISW assesses was a Russian infiltration mission.[31] Geolocated footage published on July 12, 13, and 15 shows Russian forces striking Ukrainian positions in northwestern and western Kostyantynivka in areas where Russian sources previously claimed that Russian forces maintained positions.[32]

Russian forces continued offensive operations in the Dobropillya tactical area on July 18 and 19 but did not advance.[33]
Russian forces continued offensive operations in the Pokrovsk direction on July 18 and 19 but did not make any confirmed advances. [34] A Russian milblogger claimed that Russian forces advanced south of Myrne (northwest of Pokrovsk).[35] The Ukrainian General Staff reported on July 19 that Ukrainian forces struck a road bridge that Russian forces use to conduct logistics near Novoekonomichne (east of Pokrovsk).[36]
Russian forces continue to exploit seasonal conditions to conceal positions in the Pokrovsk direction. A Ukrainian brigade operating in the Pokrovsk direction reported on July 19 that Russian forces are using summer vegetation as concealment to covertly transfer assault groups using electric bikes.[37]
Ukrainian forces likely liberated Novopavlivka. Ukrainian military observer Kostyantyn Mashovets reported on July 19 that Ukrainian forces are clearing Novopavlivka and are advancing south of the town and attacking along the Novopavlivka-Dachne road.[38] Mashovets reported that Filiya (southwest of Novopavlivka) is a contested gray zone and that Russian forces appear only to hold positions south of the settlement. Mashovets noted that Ukrainian forces have achieved certain tactical results in the Novopavlivka and Oleksandrivka directions, advancing nine to 10 kilometers deep in some areas.[39]

Order of Battle: Mashovets reported that the Russian military command may have transferred the Russian 90th Tank Division (41st Combined Arms Army [CAA], Central Military District [CMD]) from the control of the Central Grouping of Forces to the Eastern Grouping of Forces and possibly transferred operational control of the division directly to the command of the 29th CAA (Eastern Military District [EMD]).[40] The Central Grouping of Forces' area of responsibility (AoR) spans from the Dobropillya tactical area to the Novopavlivka direction, while the Eastern Grouping of Forces' AoR spans from the Oleksandrivka direction to the Hulyaipole direction.
Russian forces continued limited offensive operations in the Oleksandrivka direction on July 18 and 19 but did not make confirmed advances.[41] The Russian Ministry of Defense (MoD) claimed on July 19 that elements of the Russian 36th Separate Motorized Rifle Brigade (29th CAA) seized Vilne (southwest of Oleksandrivka and over 13 kilometers from the furthest extent of assessed Russian advances).[42] ISW assesses that the Russian MoD's claim is part of Russia's ongoing cognitive warfare effort to signal battlefield success contrary to all available evidence.

Ukrainian Unmanned Systems Forces (USF) Commander Robert “Magyar” Brovdi reported on July 19 that Ukrainian forces struck an electrical substation in Zemlyanky (northeast of Oleksandrivka).[43]
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)
Russian forces continued offensive operations in the Hulyaipole direction and western Zaporizhia Oblast on July 18 and 19 but did not advance.[44]
Russian forces conducted a first-person view (FPV) drone strike against a Red Cross vehicle in Zaporizhia Oblast. Zaporizhia Oblast Military Administration Head Ivan Fedorov reported on July 19 that Russian forces conducted an FPV drone strike against a Red Cross vehicle in Vilnyansk, Zaporizhia Oblast.[45] Geolocated footage published on July 19 shows the destroyed Red Cross vehicle in Vilnyansk following the Russian strike.[46]
Neither Russian nor Ukrainian sources reported ground activity in the Kherson direction on July 19.
Ukrainian forces continued their intermediate-range strike campaign against Russian energy infrastructure in occupied Kherson Oblast on the night of July 18 to 19. Ukrainian Unmanned Systems Forces Commander Major Robert “Magyar” Brovdi reported on July 19 that Ukrainian forces struck a Russian electrical substation in occupied Shyroke (roughly 45 kilometers from the frontline) overnight.[47]
Ukrainian forces continued their strike campaign against Russian energy infrastructure and military assets in occupied Crimea. Brovdi reported on July 19 that Ukrainian forces struck eight Russian electrical substations in occupied Crimea overnight, including in Kerch, Ponyzivka, Sudak, Shchebetivka, Yedy-Kuyu, Zelenyi Yar, and Berdyansk.[48]
Russian Air, Missile, and Drone Campaign (Russian Objective: Target Ukrainian military and civilian infrastructure in the rear and on the frontline)
See topline text for reports on Russian overnight strikes against Ukraine.
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.

[1] https://t.me/kpszsu/69144
[2] https://t.me/V_Zelenskiy_official/20036
[3] https://www.president dot gov.ua/news/same-na-balistiku-rosiya-robit-stavku-i-zavdyaki-balistici-p-105517
[4] https://t.me/synegubov/23944 ; https://t.me/synegubov/23952 ; https://t.me/synegubov/23953 ; https://t.me/synegubov/23961 ; https://t.me/synegubov/23976 ; https://t.me/synegubov/23974 ; https://t.me/synegubov/23965 ; https://t.me/mykolaiv_ova/1115 ; https://suspilne dot media/mykolaiv/1358664-armia-rf-atakuvala-port-na-mikolaivsini/ ; https://t.me/odeskaODA/17771 ; https://suspilne dot media/odesa/1358848-raketnij-udar-po-odesi-na-misci-vlucanna-utvorilasa-voronka-e-poranenij/ ; https://t.me/odeskaODA/17773 ; https://suspilne dot media/odesa/1358866-raketnij-udar-po-odeskomu-rajonu-18-lipna-zaginuv-16-ricnij-hlopec-12-ludej-poraneni/
[5] https://t.me/novapostcorp/4976 ; https://suspilne dot media/kharkiv/1358874-rf-vdarila-po-teritorii-harkivskogo-sortuvalnogo-terminalu-novoi-posti-zaava-kompanii/
[6] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-8-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-14-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-26-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-11-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-may-5-2026/
[7] https://militarnyi dot com/uk/news/rosiya-dvi-tretyny-vyrobnytstva-tsyrkon/
[8] https://t.me/kpszsu/66963 ; https://t.me/kpszsu/67095 ; https://t.me/kpszsu/67183 ; https://t.me/kpszsu/67304 ; https://t.me/kpszsu/67362 ; https://t.me/kpszsu/67506 ; https://t.me/kpszsu/67633 ; https://t.me/kpszsu/67709 ; https://t.me/kpszsu/67858 ; https://t.me/kpszsu/67924 ; https://t.me/kpszsu/68010 ; https://t.me/kpszsu/68150 ; https://t.me/kpszsu/68283 ; https://t.me/kpszsu/68398 ; https://t.me/kpszsu/68521 ; https://t.me/kpszsu/68667 ; https://t.me/kpszsu/68838 ; https://t.me/kpszsu/68985 ; https://t.me/kpszsu/69144;
[9] https://t.me/kpszsu/69144; https://t.me/kpszsu/63463 [total drones launched taken from the Ukrainian Air Force daily sitrep between June 1, 2026, and July 19, 2026]
[10] https://armyinform.com dot ua/2026/07/19/urazheno-shhe-odyn-tanker-tinovogo-flotu-rf-ta-try-naftobazy-u-stavropolskomu-krayi/; https://t.me/SBUkr/18128
[11] https://t.me/robert_magyar/2624
[12] https://t.me/robert_magyar/2627 ; https://t.me/usf_army/2218
[13] https://t.me/GeneralStaffZSU/41288
[14] https://t.me/caspian_pipeline/1225
[15] https://t.me/V_Zelenskiy_official/20047 ; https://www dot president.gov.ua/news/same-na-balistiku-rosiya-robit-stavku-i-zavdyaki-balistici-p-105517 ; https://t.me/V_Zelenskiy_official/20054
[16] https://t.me/V_Zelenskiy_official/20047 ; https://www dot president.gov.ua/news/same-na-balistiku-rosiya-robit-stavku-i-zavdyaki-balistici-p-105517 ; https://t.me/V_Zelenskiy_official/20054
[17] https://www dot president.gov.ua/news/rishennya-shodo-armiyi-budut-napracovani-zvernennya-preziden-105513 ; https://t.me/V_Zelenskiy_official/20034; https://x.com/zelenskyyua/status/2078554041966317571?s=46&t=FjwC4-iPvrgE0rqqvM4xfA
[18] https://t.me/SBUkr/18128; https://armyinform dot com.ua/2026/07/19/urazheno-shhe-odyn-tanker-tinovogo-flotu-rf-ta-try-naftobazy-u-stavropolskomu-krayi/
[19] https://x.com/Vlad_23456/status/2078812283598454808 ; https://t.me/exilenova_plus/25810 ; https://x.com/Osinttechnical/status/2078725071959416834 ; https://t.me/exilenova_plus/25844; https://x.com/neonhandrail/status/2078682873360699819; https://x.com/Exilenova_plus/status/2078658269766435050; https://x.com/Osinttechnical/status/2078725074018881724; https://t.me/supernova_plus/55881
[20] https://t.me/tass_agency/385909 ; https://t.me/tass_agency/385936
[21] https://t.me/creamy_caprice/12499 ; https://t.me/shadow_strike_27/1031 ; https://t.me/creamy_caprice/12505; https://t.me/pegasus_1815/173
[22] https://t. me/z_arhiv/33555
[23]https://t.me/Sladkov_plus/1579; https://t.me/GeneralStaffZSU/41294 ; https://t.me/GeneralStaffZSU/41276 ; https://t.me/GeneralStaffZSU/41258 ; https://t.me/severnnyi/8731
[24] https://t.me/Sladkov_plus/15792
[25] https://t.me/GeneralStaffZSU/41276 ; https://t.me/GeneralStaffZSU/41258 ; https://t.me/Sladkov_plus/15792
[26] https://t.me/divgen/82441
[27] https://t.me/Sladkov_plus/15792; https://t.me/grvZapad/19177; https://t.me/GeneralStaffZSU/41294
[28] https://t.me/robert_magyar/2624
[29] https://t.me/GeneralStaffZSU/41294; https://t.me/GeneralStaffZSU/41276; https://t.me/GeneralStaffZSU/41258; https://t.me/wargonzo/35633; https://t.me/grvZapad/19177;
[30] https://armyinform.com dot ua/2026/07/19/vantazh-ne-donis-pid-lymanom-likviduvaly-chergovogo-rosijskogo-verblyuda/; https://t.me/ombr66/2839
[31] https://x.com/AudaxonX/status/2078492072651141470; https://www.instagram.com/seraphinesbattalion/reel/DaheK8uqJfD/
[32] https://x.com/AudaxonX/status/2078472476502159522; https://t.me/zayndi_zingiev/457 ; https://x.com/AudaxonX/status/2078507141619503549; https://t.me/z4lpr/1821 ; https://x.com/AudaxonX/status/2078488607854141602; https://t.me/rusich13sho/1942
[33] https://t.me/GeneralStaffZSU/41294; https://t.me/GeneralStaffZSU/41276; https://t.me/GeneralStaffZSU/41258 ; https://t.me/voenkorKotenok/73578; https://t.me/wargonzo/35633
[34]https://t.me/GeneralStaffZSU/41294 ; https://t.me/GeneralStaffZSU/41276 ; https://t.me/GeneralStaffZSU/41258 ; https://t.me/motopatriot78/54126 ; https://t.me/DnevnikDesantnika/45479 ; https://t.me/creamy_caprice/12502 ; https://t.me/motopatriot78/54138 ; https://t.me/voenkorKotenok/73578 ; https://t.me/wargonzo/35633
[35] https://t.me/motopatriot78/54126
[36] https://t.me/GeneralStaffZSU/41288
[37] https://suspilne.media/1358626-v-ukraini-trivaut-protesti-cerez-vidstavku-fedorova-rf-vdarila-po-parku-rozvag-na-odesini-1607-den-vijni/?anchor=live_1784462155&utm_source=copylink&utm_medium=ps; https://www.facebook.com/RapidReactionBrigade/posts/pfbid02JDz2fgXh2nRo1ZzR7xdQ3eYrvfPVP1mTicG7dksXuYYDsZPGVL5KrwmgRGkEymqRl?locale=uk_UA
[38] https://t.me/zvizdecmanhustu/3513
[39] https://t.me/zvizdecmanhustu/3514
[40] https://t.me/zvizdecmanhustu/3512
[41] https://t.me/GeneralStaffZSU/41276 ; https://t.me/GeneralStaffZSU/41258
[42] https://t.me/mod_russia/65718 ; https://t.me/mod_russia/65720
[43] https://t.me/robert_magyar/2624
[44] https://t.me/GeneralStaffZSU/41294 ; https://t.me/GeneralStaffZSU/41276 ; https://t.me/GeneralStaffZSU/41258 ; https://t.me/wargonzo/35633 ; https://t.me/sashakots/63211
[45] https://t.me/ivan_fedorov_zp/44422
[46] https://x.com/99Dominik_/status/2078805791285350678; https://x.com/99Dominik_/status/2078806456917283032; https://x.com/99Dominik_/status/2078806518929965407; https://t.me/suspilnezaporizhzhya/58856; https://t.me/ivan_fedorov_zp/44422
[47] https://t.me/robert_magyar/2624
[48] https://t.me/robert_magyar/2624