Skip to Content

Russia & Ukraine

Ukraine

Russian Offensive Campaign Assessment

Russian Offensive Campaign Assessment, July 12, 2026

July 12, 2026

Russian Offensive Campaign Assessment, July 12, 2026

Toplines

Ukrainian forces have struck 90 Russian oil tankers in the Sea of Azov since July 6 as part of their intensified campaign to isolate occupied Crimea.[1] The Ukrainian General Staff and Ukrainian Unmanned Systems Forces (USF) Commander Major Robert “Magyar” Brovdi reported on July 12 that Ukrainian forces struck 14 vessels in the Sea of Azov overnight on July 11 to 12, including four ferries and 10 tankers that Russia uses to transport oil and petroleum products and circumvent sanctions.[2] Ukrainian forces began intensifying strikes against vessels in the Sea of Azov on July 6 as part of efforts to prevent Russia’s ability to adapt to Ukraine’s strikes against land-based logistics between Russia and occupied Crimea that have caused severe gasoline shortages.[3] Ukrainian strikes against Russian seaborne gasoline transports over the past week represent a new phase in Ukraine’s efforts to isolate occupied Crimea from the Russian logistics network and to disrupt Russian seaborne shipping routes, especially for petroleum products and grain.[4]

Ukraine’s successful long- and intermediate-range strike campaigns continue to fuel Russian milblogger concerns about Russia’s inadequate air defense capabilities and the Kremlin’s poor decision-making that have left Russia and occupied Ukraine vulnerable to Ukrainian strikes. A prominent Russian milblogger complained on July 12 that Ukrainian strikes are causing a crisis in western and other parts of Russia, in part due to Russian officials’ “blatant carelessness,” and emphasized that Russia will not be able to quickly correct these issues.[5] The milblogger assessed that the Russian Navy cannot reliably defend Russian vessels in the Sea of Azov due to bureaucratic inertia and that Russia cannot quickly build refineries or substations to replace damaged ones. A Kremlin-affiliated Russian milblogger similarly complained on July 12 that Russia is struggling to protect its tankers in the Sea of Azov against Ukrainian drones, largely due to the lack of a unified shipping protection system.[6] The milblogger called for Russia to create a single system — rather than one that works through separate agencies — that oversees mobile fire groups in ports and on tankers, constant route surveillance, and the dispersal of Russian tanker convoys. Another Russian milblogger claimed on July 11 that Russia is relying on the Soviet-era air defense model that defends against heavy missile strikes but cannot effectively intercept small Ukrainian drones flying at low altitudes.[7] The milblogger called for Russia to expand its use of mobile fire groups and drone interceptor crews. Ukraine’s long-range strike campaigns against Russian energy and military infrastructure and seaborne gasoline transports continue to expose vulnerabilities in the Russian air defense umbrella and will likely continue to challenge the Kremlin’s ability to defend Russia and occupied Ukraine against Ukrainian strikes.[8] Russia’s inability to adapt its air defense systems to the rapidly adapting drone warfare that has characterized the past few years of the war in Ukraine is at odds with the offense-defense race that has characterized both sides’ strike campaigns.

Ukrainian President Volodymyr Zelensky announced forthcoming changes to the Ukrainian Cabinet of Ministers, including the reassignment of the current prime minister, Yulia Svyrydenko. Zelensky stated on July 12 that he will implement personnel changes in the Cabinet of Ministers and will reassign Svyrydenko to lead a new, unspecified initiative with an unspecified “key partner.”[9] Zelensky stated that each new appointee in the cabinet will focus on the implementation of agreements between Ukraine and its partners, including the production of Patriot air defense interceptors with US licenses and efforts with Europe to create an anti-ballistic air defense system.

Key Takeaways

Map Thumbnail

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

Ukrainian forces continued their long-range strike campaign against Russian oil infrastructure in Russia on the night of July 11 to 12. Ukrainian military officials reported that Ukrainian forces struck the Syzran Oil Refinery in Syzran, Samara Oblast (roughly 800 kilometers from the frontline), causing explosions and a fire.[10] The Ukrainian General Staff noted that the refinery has a refining capacity of about 8.5 million tons per year and produces gasoline, diesel, aviation fuel, and other petroleum products for the Russian military.[11] Geolocated footage published on July 12 shows fires and smoke plumes at the refinery.[12] Samara Oblast Governor Vyacheslav Fedorishchev acknowledged on July 12 that Ukrainian drones struck an unspecified industrial facility in the region.[13]

Ukrainian officials provided battle damage assessments (BDA) of recent Ukrainian strikes on Russian territory. The Ukrainian General Staff reported on July 12 that Ukraine’s July 10 strike against the Novatek Ust-Luga Oil Refinery in Slobodka, Leningrad Oblast (roughly 1,100 kilometers from the international border), damaged the oil refining unit.[14] Satellite imagery collected on July 12 also shows that Ukraine’s July 9 strike against the Tverskaya Neftobaza Oil Depot in Tver City, Tver Oblast (roughly 510 kilometers from the international border), destroyed three fuel tanks.[15]

Russian Supporting Effort: Northern Axis

Russian objective: Create defensible buffer zones in Sumy Oblast along the international border

Ukrainian forces recently advanced or maintained positions in northern Sumy Oblast as Russian forces continued infiltration missions in the area. Geolocated footage published on July 11 shows Russian forces striking Ukrainian forces in northern and southern Bachivsk (northwest of Sumy City) — an area in which Russian sources recently claimed that Russian forces maintained positions.[16] Additional geolocated footage published on July 11 shows Ukrainian forces striking a Russian position in northern Bachivsk after what ISW assesses was a Russian infiltration mission.[17] The Russian Ministry of Defense (MoD) claimed on July 11 that Russian forces seized Bachivsk, but a Ukrainian military spokesperson refuted these claims at that time.[18] A Russian milblogger claimed on July 12 that Russian forces advanced west of Andriivka and in eastern Pysarivka (both north of Sumy City).[19]

Map Thumbnail

Invalid map ID. Map post not found.

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 infiltration missions in northern Kharkiv Oblast. Geolocated footage published on July 12 shows Ukrainian forces striking Russian-occupied buildings in northern and southern Kozacha Lopan (north of Kharkiv City) after what ISW assesses were Russian infiltration missions.[20] Russian milbloggers claimed on July 11 and 12 that Russian forces advanced further in northern Kozacha Lopan and in northern Bilyi Kolodyaz (northeast of Kharkiv City).[21] A source reporting on the Russian Western Grouping of Forces claimed on July 12 that Russian forces conducted a FAB-500 glide bomb strike against a Ukrainian temporary deployment site near Zakharivka (northeast of Kharkiv City).[22]

Map Thumbnail

Russian forces recently conducted an infiltration mission in the Velykyi Burluk direction. Geolocated footage published on July 11 shows Ukrainian forces striking a Russian position southeast of Shevyakivka (northeast of Velykyi Burluk) after what ISW assesses was a Russian infiltration mission.[23] A source reporting on the Russian Western Grouping of Forces claimed on July 12 that Russian forces conducted a FAB-500 glide bomb strike against a Ukrainian drone launch point near Rublene (northeast of Velykyi Burluk).[24]

Map Thumbnail

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

Map Thumbnail

Map Thumbnail

Russian forces continued offensive operations in the Kupyansk and Borova directions on July 11 and 12 but did not advance.[25]

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

Map Thumbnail

Map Thumbnail

Russian forces continued offensive operations in the Slovyansk direction on July 11 and 12 but did not make confirmed advances.[26] A Russian milblogger claimed that Russian forces are fighting within Shchurove (southwest of Lyman).[27] A Kremlin-affiliated Russian milblogger acknowledged that Russian claims that Russian forces reached Mykolaivka (east of Slovyansk) are unconfirmed and that the presence of small Russian infantry groups does not represent stable Russian control over the area.[28]

Map Thumbnail

Russian forces reportedly continue to strike bridges and gas stations to hinder Ukrainian logistics in the Slovyansk area. A source reporting on the Russian Western Grouping of Forces claimed that Russian forces conducted a FAB-500 glide bomb strike against an embankment crossing near Mayaky (southwest of Lyman).[29] A Russian milblogger claimed that Russian forces conducted a Geran drone strike against a gas station within Slovyansk.[30]

Russian forces continue to advance in Kostyantynivka as Ukrainian forces maintain positions within the city. Ukrainian military observer Kostyantyn Mashovets stated that Russian forces gained a foothold in eastern Kostyantynivka from Teatralna Street to Bulgakov Street and along Minska Street and advanced north of the Kostyantynivka railway station.[31] Mashovets reported that Russian forces are fighting near the Metalurh Park and Metalurh Stadium in central Kostyantynivka and that Russian groups are operating along Yemelyanova Street in the vicinity of the Motto gas station and the City Hospital No. 1 in western Kostyantynivka. Mashovets reported that Ukrainian forces continue to hold positions in an industrial area between the Kryvyi Torets River and Pravoberezhna Street in central Kostyantynivka and a small bridgehead on the Kryvyi Torets River between the Kvarsit Kostyantynivka State Scientific and Production Enterprise and the Svinets enterprise in western Kostyantynivka. Mashovets noted that the abundant foliage in the area and the ruins of buildings are providing Russian forces with concealment in Kostyantynivka and reducing the effectiveness of Ukrainian drone missions.[32] Mashovets added that Russian forces are conducting an intense air support campaign, including guided glide bombs. Mashovets forecasted that fighting will continue in Kostyantynivka at least until the end of July 2026, but most likely into August.[33]

Map Thumbnail

Map Thumbnail

Russian forces continue to conduct infiltration missions in other areas of the Kostyantynivka-Druzhkivka tactical area. Geolocated footage published on July 10 shows Ukrainian forces striking a Russian position southeast of Vasyutynske (east of Kramatorsk) after what ISW assesses was a Russian infiltration mission.[34] A Russian milblogger claimed that Russian forces advanced further southeast of Vasyutynske.[35] Another Russian milblogger claimed that Russian forces are conducting clearing operations near Osykove (northwest of Kostyantynivka).[36]

Russian forces reportedly continue to strike gas infrastructure in the Kostyantynivka-Druzhkivka tactical area. The Russian Ministry of Defense (MoD) claimed that Russian forces conducted a Geran drone strike against a gas distribution station in Kramatorsk.[37]

Russian forces continued offensive operations in the Dobropillya tactical area and the Pokrovsk direction on July 11 and 12 but did not advance.[38]

Map Thumbnail

Neither Ukrainian nor Russian sources reported ground activity in the Novopavlivka direction on July 12.

Russian forces continued limited ground activity in the Oleksandrivka direction on July 11 and 12 but did not advance.[39]

The Ukrainian 1st Azov Corps reported on July 12 that Ukrainian forces conducted Operation Hell, a multistage drone strike campaign against a key Russian logistics hub in occupied Donetsk Oblast.[40] The 1st Azov Corps reported that Russian forces had been creating a network of fuel bases in occupied Donetsk Oblast in recent years, considering the locations safe from Ukrainian strikes. The 1st Azov Corps reported that Operation Hell used Hornet drones to target a storage facility in occupied Novoamvrosiivske (roughly 110 kilometers from the frontline) to which Russian forces delivered fuel by rail. The 1st Azov Corps reported that Ukrainian forces first struck a railway crane that Russian forces used to clear the tracks; then struck a diesel locomotive in order to block the rail connection to the base; then struck the electrical substation supplying power to the facility; and finally struck fuel tanks and other storage infrastructure at the facility. The 1st Azov Corps reported that the operation has already significantly complicated Russian military logistics and forced Russian troops to stop using the Novoamvrosiivske logistics node and to reroute part of their supplies to Russia. Geolocated footage published on July 12 confirms strikes against a transformer station in Amvrosiivka (just south of Novoamvrosiivske) and a fuel depot west of Novoamvrosiivske.[41]

Ukrainian forces continued their intermediate-range strike campaign against other Russian energy infrastructure in occupied Donetsk Oblast. Ukrainian Mariupol Mayoral Advisor Petro Andryushchenko reported on July 12 that Ukrainian forces struck the Zorya-300 substation near occupied Afiny and Kalchyk (roughly 100 kilometers from the frontline).[42] Geolocated footage published on July 11 shows Ukrainian forces striking electrical substations in Volnovakha (roughly 71 kilometers from the frontline) and Yenakiieve (roughly 40 kilometers from the frontline).[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 on July 11 and 12 but did not advance.[44]

Russian forces continue to strike Zaporizhzhia City, including energy infrastructure in the city. The Ukrainian State Emergency Services reported on July 11 that Russian forces conducted an airstrike, likely with glide bombs, against Zaporizhzhia City, injuring four people and destroying a residential building.[45] The Russian Ministry of Defense (MoD) claimed that Russian forces conducted a Geran drone strike against a fuel and lubricant depot in Zaporizhzhia City.[46]

Map Thumbnail

Ukrainian forces continue to strike Russian military assets in occupied Zaporizhia Oblast. The Ukrainian General Staff reported that Ukrainian forces struck a Russian train carrying fuel and lubricants near Tokmak (roughly 25 kilometers from the frontline) on July 11, damaging a locomotive.[47]

Neither Ukrainian nor Russian sources reported ground activity in the Kherson direction on July 12.

Map Thumbnail

Ukrainian strikes against energy infrastructure in occupied Crimea continue to cause power outages. Russian opposition source Sota reported on July 11 that utility companies in occupied Crimea continue to report water and power outages across the peninsula following Ukrainian strikes on July 10 against electrical substations.[48] Crimean occupation energy operator Krymenergo reported power outages in Dzhankoi,  Yany Kapu, and Armyansk and Dzhankoiskyi, Krasnoperekopsky, Nyzhnohirskyi, and Chernomorsky raions.[49] Krymenergo also placed energy restrictions on Simferopol, Yalta, Sudak, Yevpatoriya, and Saky, and in Simferopolsky, Bakhchisaraysky, and Sakskyi raions. Sevastopol occupation head Mikhail Razvozhaev introduced restrictions on July 12, limiting power supply to occupied Sevastopol, likely due to recent Ukrainian strikes against Crimean energy infrastructure.[50]

Russian Air, Missile, and Drone Campaign

Russian Objective: Target Ukrainian military and civilian infrastructure in the rear and on the front line

Russian forces conducted a series of drone and missile strikes against Ukraine on the night of July 11 to 12. The Ukrainian Air Force reported that Russian forces launched nine Kh-59/69 cruise missiles, four Kh-31 anti-radar missiles, and 115 Shahed-, Gerbera-, and Italmas-type strike drones and Parodiya decoy drones from the directions of Kursk and Oryol cities; Primorsko-Akhtarsk, Krasnodar Krai; Millerovo, Rostov Oblast; occupied Donetsk City; and occupied Hvardiiske, Crimea.[51] The Ukrainian Air Force reported that Ukrainian forces downed seven Kh-59/69 missiles and 95 drones, that two Kh-59/69 missiles and 19 drones struck 12 locations, and that debris fell on 12 locations. Ukrainian officials reported that Russian drones struck residential, energy, and transport infrastructure in Chernihiv, Dnipropetrovsk, and Kharkiv oblasts and port infrastructure in Odesa Oblast.[52] Chernihiv Oblast energy operator Chernihiv Oblenergo reported that Russian strikes against energy infrastructure in Chernihiv Oblast left more than 23,000 consumers without power in Nizhynskyi Raion.[53]

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.

Powered by Babel Street logo

[1] https://t.me/robert_magyar/2590

[2] https://t.me/GeneralStaffZSU/41064 ; https://t.me/robert_magyar/2590 ; https://t.me/robert_magyar/2591 ; https://t.me/usf_army/2193

[3] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-9-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-8-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-7-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-8-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-25-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-22-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-9-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-21-2026/

[4] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-11-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-10-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-9-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-8-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-7-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-6-2026/

[5] https://t.me/dva_majors/96003

[6] https://t.me/rybar/81698 

[7] https://t.me/notes_veterans/28516

[8] https://understandingwar.org/research/russia-ukraine/ukraines-strike-campaigns-will-likely-continue-to-hurt-russias-economy-and-military-operations-in-ukraine/

[9] https://t.me/V_Zelenskiy_official/19878

[10] https://t.me/GeneralStaffZSU/41064 ; https://t.me/DIUkraine/8875 ; https://t.me/usf_army/2192

[11] https://t.me/GeneralStaffZSU/41064

[12] https://x.com/Osinttechnical/status/2076132747815379121; https://x.com/neonhandrail/status/2076143296834158919; https://x.com/Osinttechnical/status/2076133000362823858; https://t.me/exilenova_plus/25118; https://t.me/supernova_plus/55515; https://t.me/kiber_boroshno/13319; https://t.me/exilenova_plus/22913; https://t.me/exilenova_plus/25141

[13] https://t.me/fedorishchev_official/1288

[14] https://t.me/GeneralStaffZSU/41064 ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-10-2026/

[15] https://x.com/kromark/status/2076224001211326756 ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-9-2026/

[16] https://x.com/aroslav24470/status/2076019357352640582 ; https://x.com/aroslav24470/status/2076031332082221543 ; https://x.com/aroslav24470/status/2076027447263346982 ; https://t.me/btr80/39573 ;

[17] https://www.facebook.com/reel/2064770104478546; https://t.me/creamy_caprice/12455

[18] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-11-2026/

[19] https://t.me/divgen/82322

[20] https://t.me/jacksons_dairy/13273; https://t.me/creamy_caprice/12456

[21] https://t.me/z_arhiv/33534 ; https://t.me/divgen/82314

[22] https://t.me/grvZapad/19119

[23] https://t.me/kharkivnapriamok/3415 ; https://t.me/creamy caprice/12451

[24] https://t.me/grvZapad/19119

[25] https://t.me/GeneralStaffZSU/41011; https://t.me/GeneralStaffZSU/41041; https://t.me/GeneralStaffZSU/41070; https://t.me/wargonzo/35485; https://t.me/grvZapad/19120

[26] https://t.me/GeneralStaffZSU/41011; https://t.me/GeneralStaffZSU/41041; https://t.me/GeneralStaffZSU/41070; https://t.me/rybar/81697; https://t.me/wargonzo/35485

[27] https://t.me/wargonzo/35485

[28] https://t.me/rybar/81697

[29] https://t.me/wargonzo/35485

[30] https://t.me/RVvoenkor/118986

[31] https://t.me/zvizdecmanhustu/3498

[32] https://t.me/zvizdecmanhustu/3499

[33] https://t.me/zvizdecmanhustu/3500

[34] https://t.me/pidrozdilshadowoficial/808; https://t.me/creamy_caprice/12449

[35] https://t.me/rybar/81697

[36] https://t.me/wargonzo/35485

[37] https://t.me/mod_russia/65500

[38] https://t.me/GeneralStaffZSU/41011 ; https://t.me/GeneralStaffZSU/41041 ; https://t.me/GeneralStaffZSU/41070 ; https://t.me/RVvoenkor/118964 ; https://t.me/wargonzo/35485

[39] https://t.me/GeneralStaffZSU/41011; https://t.me/GeneralStaffZSU/41041; https://t.me/GeneralStaffZSU/41070;

[40] https://armyinform.com dot ua/2026/07/12/operacziya-peklo-azov-pokazav-yak-znyshhyv-tayemnyj-logistychnyj-hab-rosiyan-na-donechchyni/; https://www.facebook.com/reel/27043926561976587

[41] https://x.com/klinger66/status/2076300321496674542; https://t.me/azov_media/8577; https://x.com/RALee85/status/2076285685477069277

[42] https://t.me/andriyshTime/62758

[43] https://x.com/stopthetwigs/status/2076128153290867053 ; https://x.com/414magyarbirds/status/2075948686635348229

[44] https://t.me/GeneralStaffZSU/41011; https://t.me/GeneralStaffZSU/41041; https://t.me/GeneralStaffZSU/41070; https://t.me/wargonzo/35485; https://t.me/voin_dv/20180

[45] https://t.me/dsns_telegram/68522

[46] https://t.me/mod_russia/65491

[47] https://t.me/GeneralStaffZSU/41064

[48] https://t.me/sotaproject/115770

[49] https://t.me/sotaproject/115770

[50] https://t.me/razvozhaev/22179

[51] https://t.me/kpszsu/68150

[52] https://t.me/chernigivskaODA/30433 ; https://t.me/vilkul/17104 ; https://t.me/ihor_terekhov/4309; https://t.me/ihor_terekhov/4310; https://t.me/ihor_terekhov/4311 ; https://t.me/odeskaODA/17506 ; https://suspilne dot media/odesa/1353176-v-odeskomu-rajoni-cerez-nicnu-ataku-droniv-poskodzeni-infrastrukturnij-obekt-budinki-ta-avtomobili/  ; https://t.me/odeskaODA/17513

[53] https://www.facebook.com/chernihiv.oblenergo.1998/posts/pfbid026yffPZTjeLTYFN876seaUPWDzi7qUr8qmXzdwNw1K4qaaRcDJWVjjJh7cSCHgmqel ; https://suspilne dot media/chernihiv/1353000-cerez-ataku-rosian-u-nizinskomu-rajoni-bez-elektriki-zalisilisa-ponad-23-tisaci-abonentiv/

Related

Research

Update

Update

Update

Update