Russia-Ukraine warWorld Conflicts

Ukraine Hits Kstovo Refinery and Nevinnomyssk Chemical Plant for Second Time in a Week

REPORT: SITUATION REPORT
ORIGINATOR: STRATEGY BATTLES
ANALYST: M.V. THORNE

Strategy Battles : Ukraine / Deep Strike Campaign

UKRAINE STRIKES LUKOIL REFINERY AND CHEMICAL PLANT FOR SECOND TIME IN A WEEK
Kstovo hit again on 20 May. Nevinnomyssk Azot struck twice inside five days. Both sites central to Russia’s war-fuel and explosives supply chain.

PUBLISHED: 20 MAY 2026  |  NIZHNY NOVGOROD / STAVROPOL KRAI, RUSSIA  |  DEEP STRIKE CAMPAIGN

🔴 DUAL-SITE STRIKE, 20 MAY
🟡 REPEAT TARGETING PATTERN
🔵 FUEL AND EXPLOSIVES CHAIN

Threat Level Assessment

LEVEL 3 OF 5, DEVELOPING

ROUTINEMONITORDEVELOPINGSERIOUSCRISIS

✓ OSINT Verified Report

Sourced from Kyiv Independent (Dmytro Basmat, 20 May 2026), Kyiv Post, New Voice of Ukraine, Militarnyi.com, ASTRA Telegram channel (as reported by wire services), and Ukraine General Staff statements via Kyiv Independent. The May 20 Nevinnomyssk strike is single-source at time of writing (Russian Telegram channels, no General Staff confirmation yet). Governor Vladimirov denial of damage on 20 May flagged as unverified. Original editorial analysis by Strategy Battles. Single-source items flagged purple.

Verified By

Marcus V. Thorne

Lead Editor, Strategy Battles

20 May 2026

BLUF

Bottom Line Up Front

Ukrainian drones struck the Lukoil-Nizhegorodnefteorgsintez oil refinery in Kstovo, Nizhny Novgorod Oblast, for the second time in 48 hours overnight on 20 May 2026, with a fire visible from the facility following the strike. Drones also hit the Nevinnomyssk Azot chemical plant in Stavropol Krai for the second time inside five days, despite the Stavropol governor again claiming air defences repelled the attack. Both targets sit inside the core of Ukraine’s sustained deep-strike campaign against Russian war-economy infrastructure: Kstovo processes 17 million tons of crude annually and supplies fuel directly to Russian occupation forces, while Nevinnomyssk Azot produces the ammonia and ammonium nitrate that feed Russia’s explosive shell manufacturing chain. Ukraine has not confirmed the 20 May strikes at time of publication.

Key Judgments

01
HIGH CONFIDENCE

The Kstovo refinery was struck on 20 May. Smoke and fire were confirmed by local residents and Russian Telegram monitoring channels, consistent with the 18 May attack that Ukraine’s General Staff confirmed the following day. Lukoil confirmed to state news agency RIA that one processing unit was temporarily suspended following the earlier incident, a formulation it also used after the April strike. The pattern of attack, confirmation, and official minimisation is now well-established for this site.

02
HIGH CONFIDENCE

The Nevinnomyssk Azot plant was struck again on the night of 19 to 20 May. The 16 May strike on the same facility was confirmed by multiple independent sources including ASTRA, Militarnyi.com, United24 Media, and Euromaidan Press, with fire footage corroborating damage despite Governor Vladimirov’s denial. The 20 May attack follows an identical denial pattern: local residents reported explosions and fires; the governor acknowledged air defences were active but claimed no damage to an unspecified “industrial zone.” ASTRA’s prior analysis of geolocated fire imagery directly contradicted similar claims from the 16 May strike.

03
MODERATE CONFIDENCE

Repeat targeting of the same sites within days indicates a deliberate suppression-of-recovery strategy rather than opportunistic striking. The Lukoil-Nizhegorodnefteorgsintez refinery was previously hit in April, then again on 18 May, and again on 20 May. Nevinnomyssk Azot has been struck at least seven times since the start of the full-scale war. Returning to the same site before repairs are complete compounds the damage and denies Russia the recovery window it needs to restore output.

04
LOW CONFIDENCE

Whether Russia’s claimed air-defence interceptions at Nevinnomyssk are having any degrading effect on the frequency of successful hits. Vladimirov’s claim that drones were repelled and that there was no damage is contradicted by fire footage on both the 16 May and 20 May incidents. However, it is not currently possible to determine from open sources what proportion of inbound Ukrainian drones are being defeated by Russian air defences in the Stavropol Krai corridor before reaching their targets.

2

Sites Hit, 20 May Night

17M t

Kstovo Annual Capacity

7+

Azot Strikes Since Feb 2022

B

Oil Revenue Lost, 2026 (Zelensky)

📍 Ukraine Deep Strike: Kstovo and Nevinnomyssk, 20 May 2026

Strategy Battles OSINT map showing Ukrainian drone strike locations: Lukoil-Nizhegorodnefteorgsintez refinery in Kstovo, Nizhny Novgorod Oblast (MGRS 38VMH5154623382) and Nevinnomyssk Azot chemical plant in Stavropol Krai (MGRS 37TGK3283446842), both struck 20 May 2026

Both sites struck overnight 19 to 20 May 2026. Datum WGS84, UTM Zones 38V (Kstovo) and 37T (Nevinnomyssk). Map: Strategy Battles / OSINT.

📍 LUKOIL REFINERY, KSTOVO

MGRS: 38VMH5154623382

56.1530°N   44.2200°E

Lukoil-Nizhegorodnefteorgsintez. Struck 18 May and again on 20 May 2026. 17 million ton annual capacity. Produces aviation fuel and diesel for Russian occupation forces. Approximately 800 km from the Ukrainian border.

📍 NEVINNOMYSSK AZOT, STAVROPOL

MGRS: 37TGK3283446842

44.6372°N   41.9357°E

EuroChem Group facility. Struck 16 May and again on 20 May 2026. Produces up to 1 million tons of ammonia and more than 1 million tons of ammonium nitrate annually. Supplied nitric and acetic acid to Russian explosives plant at Sverdlov, Nizhny Novgorod (per Reuters). Approximately 400 km from Ukrainian-controlled territory.

📍 KSTOVO CITY CENTRE (CROSS-CHECK)

MGRS: 38VMH5091422498

56.1450°N   44.2100°E

Kstovo city centre reference point. The Lukoil refinery is located immediately south-east of the city in the Kstovo industrial zone. Used as MGRS cross-check anchor for the 38V zone.

📍 NEVINNOMYSSK CITY CENTRE (CROSS-CHECK)

MGRS: 37TGK3344645952

44.6290°N   41.9430°E

Nevinnomyssk city centre reference point. The Azot plant is located on the western industrial fringe of the city. Mayor Minenkov confirmed active air defences above the city during the 20 May attack. Used as MGRS cross-check anchor for the 37T zone.

SITREP Timeline : Ukraine Deep-Strike Campaign, Key Events 2025 to May 2026

MID-2025
Ukraine’s long-range drone campaign against Russian oil and energy infrastructure enters a new phase, causing fuel shortages across Russia. Bloomberg later calculates that April 2026 strikes alone hit a four-month high of at least 21 confirmed attacks on refineries, pipelines, and maritime assets.
4 APR 2026
Ukrainian long-range drones strike the Lukoil-Nizhegorodnefteorgsintez refinery in Kstovo for the first confirmed hit in 2026. A large fire is detected by NASA’s FIRMS fire monitoring system at approximately 02:00 local time. Lukoil confirms suspension of one processing unit.
JAN to MAR 2026
Nevinnomyssk Azot struck in January and March 2026, continuing a pattern of strikes that also included August and December 2025. Ukrainian NSDC official Andrii Kovalenko publicly describes the facility as a critical component of Russia’s defence-industrial complex.
APR 2026
Zelensky states Ukraine’s deep strikes have cut Russian oil refining by 10 percent and cost Russia billion in oil revenue during 2026 alone. Russia’s average refinery throughput falls to 4.69 million barrels per day, the lowest level since December 2009, per Bloomberg. Ukraine’s defence ministry confirms 14 refineries hit during April.
16 MAY
Nevinnomyssk Azot struck overnight 15 to 16 May. Fire confirmed by ASTRA Telegram channel via geolocated footage at approximately 02:30 local time. Governor Vladimirov claims no ground damage. ASTRA analysis of photo and video contradicts the claim. Ukraine’s NSDC confirms the strike is the sixth recorded attack on the facility. No casualties reported.
17 MAY
The Moscow Oil Refinery is struck as part of a large-scale Ukrainian drone operation against the Moscow region. Reuters reports the refinery temporarily halts processing operations, citing industry sources. Zelensky describes 55 confirmed hits on 23 high-value strategic targets across mainland Russia and occupied territories during the wider overnight campaign.
18 MAY
Lukoil-Nizhegorodnefteorgsintez in Kstovo struck again. A fire is reported at the facility. Ukraine’s General Staff confirms the strike on 19 May. Smoke plumes are visible and the Nizhny Novgorod airport temporarily suspends operations. The strike is reported by New Voice of Ukraine and ASTRA, with residents describing drones overflying the Kstovo industrial zone.
19 MAY
Ukrainian drones strike the Yaroslavl oil pumping station (Yaroslavl-3, near Semibratovo). General Staff confirms. Explosions reported in Yaroslavl city; airport temporarily disrupted. Ukraine’s Special Operations Forces later confirm involvement in the wider overnight campaign.
20 MAY
Lukoil-Nizhegorodnefteorgsintez struck again overnight. Residents in Kstovo report drones over the industrial zone; fire and smoke follow. Nevinnomyssk Azot also struck overnight. Mayor Minenkov reports active air defences. Vladimirov again denies damage to an unspecified industrial zone. Ukraine has not confirmed either strike at time of writing.

🔴 Kstovo, 20 May

The Refinery That Will Not Stop Burning: Kstovo Hit a Third Time in Seven Weeks

At grid reference 38VMH5154623382 (56.1530°N, 44.2200°E), in the heavy industrial zone south-east of Kstovo city in Nizhny Novgorod Oblast, the Lukoil-Nizhegorodnefteorgsintez refinery was struck by Ukrainian drones in the early hours of 20 May 2026. Local residents reported drones overflying the Kstovo industrial zone. ASTRA, the independent Russian Telegram monitoring channel, confirmed smoke and fire at the refinery shortly after. The attack is the third confirmed or reported strike on the facility since April 2026 and the second within 48 hours, following the 18 May attack that Ukraine’s General Staff confirmed the following day.

The Kyiv Independent, citing Ukraine’s General Staff statement on the 18 May attack, describes the refinery as one of Russia’s largest oil refining enterprises, with an annual processing capacity of around 17 million tons. Kyiv Post adds that the facility supplies nearly 30 percent of the gasoline consumed in the Moscow region and provides fuel directly to Russian forces. These figures pre-date any damage assessment from the current strike sequence; actual output may already be significantly reduced following the April and 18 May hits, and a further strike before repair crews can restore damaged hydrotreating units complicates any timeline for recovery.

Lukoil confirmed to RIA Novosti after the 18 May attack that operations at one processing unit were suspended “due to the incident.” That formula, close to the one used after the April strike, consistently understates the operational picture: Militarnyi’s analysis noted that damage to hydrotreating units specifically complicates the production of high-quality gasoline and diesel, meaning the quality degradation may compound the volume reduction. Ukraine has not officially confirmed the 20 May strike at time of publication, consistent with its general policy of confirming deep strikes on the following day after initial operational assessment.

🟡 Nevinnomyssk, 20 May

Azot Hit Again: The Same Denial Pattern, The Same Footage, The Same Facility

At grid reference 37TGK3283446842 (44.6372°N, 41.9357°E) in the city of Nevinnomyssk, Stavropol Krai, the Nevinnomyssk Azot chemical plant was again struck overnight on 19 to 20 May. Nevinnomyssk Mayor Mikhail Minenkov reported active air defences above the city. Local residents reported explosions and a fire visible in the city. Stavropol Krai Governor Vladimir Vladimirov posted on Telegram that air defences had repelled a drone attack aimed at an unspecified “industrial zone” in Nevinnomyssk, claiming no damage. His statement is identical in structure to his claim after the 16 May attack, which was directly contradicted by geolocated fire footage published by ASTRA and confirmed by multiple independent outlets.

Nevinnomyssk Azot, part of the EuroChem Group holding, is described by Ukraine’s National Security and Defence Council as a critical component of Russia’s defence-industrial complex. Reuters documented that between 2022 and 2024, the Nevinnomyssk Azot and Novomoskovsk Azot plants together supplied at least 38,000 tons of acetic acid and nearly 5,000 tons of nitric acid to the Sverdlov Plant in Nizhny Novgorod Oblast. The Sverdlov Plant uses those materials to produce military explosives including HMX and RDX for artillery ammunition. This supply relationship makes Nevinnomyssk Azot a dual-node target: it feeds Russian fuel alternatives through fertilizer chemistry and directly enables shell production.

The plant produces up to one million tons of ammonia and more than one million tons of ammonium nitrate annually. Both materials are feedstocks for explosive manufacturing. The 20 May attack is at least the seventh confirmed or reported strike on the facility since Russia began its full-scale invasion of Ukraine in February 2022, with hits recorded in August and December 2025, January and March 2026, 16 May 2026, and now 20 May 2026. The interval between the two most recent strikes is four days.

President Volodymyr Zelensky : Address, May 2026

“There was a time when dozens of Ukrainian drones striking Russia was a big deal. Now, hundreds of our long-range sanctions every day are no longer a sensation.”

🔵 The Campaign Logic

Suppression of Recovery: Why Ukraine Returns to the Same Sites Before Repairs Are Done

The dual-strike pattern visible in the week of 14 to 20 May is not accidental. Striking Kstovo on 18 May and again on 20 May, and hitting Nevinnomyssk on 16 May and again on 20 May, reflects a deliberate suppression-of-recovery calculus. A refinery or chemical plant that has been hit once requires industrial repair crews to work on damaged units. If a second strike arrives before those crews have restored the primary damage, the net effect is compounded: the facility cannot recover from the first hit while also sustaining the second. Every day the unit stays offline is a day it cannot produce fuel or chemicals for the Russian war machine.

Zelensky has publicly framed the deep-strike campaign in economic terms, stating that Russia’s oil refining has fallen by 10 percent and that the campaign has cost Russia billion in oil revenue during 2026. Bloomberg’s independent data placed Russia’s average refinery throughput at 4.69 million barrels per day in April, the lowest since December 2009. That figure predates the May strike series, which has already added the Moscow Oil Refinery, the Yaroslavl pumping station, and now Kstovo and Nevinnomyssk to the monthly tally.

Russia’s state budget relies on oil revenues for at least one third of its income, according to analysts cited by CNN during the March phase of the campaign. The Ukrainian president stated in May that Russia’s state budget deficit in the first five months of 2026 had already exceeded what Moscow had planned for the entire year, and that a significant number of Russian regions were in conditions approaching fiscal insolvency. Whether those figures are precisely accurate or reflect presidential framing, the structural pressure is not in dispute: every week of reduced refinery output widens the gap between what Russia earns and what the war costs.

⚠ The Denial Problem

Russian Governors Keep Saying Nothing Hit. The Fire Footage Disagrees.

Governor Vladimirov’s claim on 20 May that air defences repelled the Nevinnomyssk attack and that no damage resulted is structurally identical to his claim on 16 May, which was directly contradicted by fire imagery from ASTRA, analysed against known facility coordinates by Militarnyi, and reported by Euromaidan Press and United24 Media. The 16 May denial also came as local residents reported four strikes and a strong chemical odour in the city. The official denial posture is an institutional reflex, not an accurate damage assessment, and it should not be used as a basis for concluding that the 20 May strike was unsuccessful.

The same asymmetry is present at Kstovo. Lukoil’s formulation of suspending operations “due to the incident” is a corporate euphemism that confirms shutdown without confirming cause. Nizhny Novgorod Governor Gleb Nikitin’s acknowledgment of air defence activity over the region, combined with resident reporting of drones and fires, has been the consistent pattern across every Kstovo strike. The gap between official language and observable reality at both sites has now been demonstrated enough times to constitute a pattern, not an anomaly.

Ukraine’s own confirmation posture runs in the opposite direction: the General Staff typically confirms deep strikes the day after, not in real time. This is operationally logical, as confirmation during the attack window could allow Russian air defences to redirect assets. The absence of a Ukrainian General Staff statement at time of publication on 20 May is therefore not evidence of failure; it is evidence of standard Ukrainian information management procedure.

Source Reliability Matrix

NATO grading: REL A (reliable) to F (unreliable). CRED 1 (confirmed) to 6 (cannot judge).

Kyiv Independent (Dmytro Basmat, 20 May 2026)

REL A
CRED 2

Primary source for 20 May reporting. Attributed to Russian Telegram channels; CRED 2 pending Ukrainian General Staff confirmation expected 21 May.

Ukraine General Staff (19 May, re: 18 May Kstovo)

REL A
CRED 1

Official Ukrainian military confirmation of the 18 May strike. Describes the refinery’s capacity and military-fuel role. Published 19 May via Kyiv Independent.

ASTRA Telegram Channel (via wire reporting)

REL B
CRED 2

Independent Russian Telegram channel. Geolocated fire imagery analysis has previously directly contradicted governor denials. Graded REL B as Telegram channel; CRED 2 for prior reliability on fire confirmation.

Militarnyi.com

REL A
CRED 2

Ukrainian defence news outlet. Technical analysis of hydrotreating unit damage and NASA FIRMS fire monitoring data corroboration are substantive and reliable.

Governor Vladimirov (Stavropol Krai), Telegram

REL C
CRED 5

Russian regional official. Claims of no damage on 16 May were contradicted by geolocated fire imagery. Claims of no damage on 20 May treated as unverified until independent corroboration. Institutional bias toward minimisation documented across prior incidents.

Reuters (supply chain documentation, 2022 to 2024)

REL A
CRED 1

Reuters investigative documentation of Nevinnomyssk Azot’s supply relationship with the Sverdlov explosives plant. Trade data sourced; not dependent on Russian official statements.

Strategy Battles Assessment

Ukraine’s deep-strike campaign has shifted from demonstrating reach to imposing cumulative attrition: same sites, compressed intervals, compounding damage that denies Russia the time to repair what it has already lost.

✓ What We Know

The Lukoil-Nizhegorodnefteorgsintez refinery in Kstovo (MGRS 38VMH5154623382) was struck on 20 May, the second hit within 48 hours and the third since April 2026. The 18 May strike is confirmed by Ukraine’s General Staff. Nevinnomyssk Azot (MGRS 37TGK3283446842) was struck on the night of 19 to 20 May, four days after the 16 May attack confirmed by multiple independent sources. Governor Vladimirov denied damage on both dates; his 16 May denial is directly contradicted by geolocated fire imagery. Zelensky has confirmed that Ukraine’s 2026 deep-strike campaign has reduced Russian refinery throughput by 10 percent and cost Russia billion in oil revenue. Bloomberg independently placed Russian refinery output at a 17-year low in April. Reuters has documented Nevinnomyssk Azot’s role in supplying precursor chemicals for Russian explosive shell production.

? What We Do Not Know

The extent of damage from the 20 May strikes at both sites, pending Ukrainian General Staff confirmation and independent imagery analysis. Whether the Kstovo hydrotreating units damaged on 18 May had resumed operation before the 20 May strike, or whether the second hit compounded existing unrepaired damage. The actual proportion of Ukrainian drones reaching their targets at Nevinnomyssk versus those being intercepted by Russian air defences, and whether the interception rate is improving. The precise current output figures for both facilities and the duration of the repair timelines imposed by the cumulative strike sequence.

☉ What To Watch

Whether Ukraine’s General Staff confirms the 20 May strikes on 21 May, which will establish whether the overnight campaign extended beyond the two sites reported. Whether satellite imagery from providers such as Planet Labs or Maxar shows new fire scars or structural damage at either facility in the coming 24 to 48 hours. Whether Lukoil issues any formal operational statement about Kstovo, as it did after the April and 18 May strikes. Whether Russia moves additional air-defence assets to protect the Stavropol Krai corridor in response to repeated successful hits on Nevinnomyssk. And whether the Bloomberg and Zelensky throughput figures are updated to reflect the May strike series, which would establish whether the 17-year-low set in April was the floor or a point on a still-falling curve.


Sources

Editorial Verification

The 20 May Kstovo strike is reported by the Kyiv Independent (Dmytro Basmat) citing Russian Telegram channels, confirmed by Militarnyi.com, and consistent with the 18 May attack confirmed by Ukraine’s General Staff on 19 May. Ukraine General Staff confirmation for 20 May is pending at time of publication. The 18 May Kstovo strike is verified by Ukraine’s General Staff statement (carried by Kyiv Independent), Kyiv Post, and New Voice of Ukraine: three independent outlets. The 20 May Nevinnomyssk Azot strike is reported by the Kyiv Independent citing Russian Telegram channels, with Mayor Minenkov acknowledging active air defences. Ukraine’s General Staff has not yet confirmed. The 16 May Nevinnomyssk Azot strike is verified by Kyiv Independent, Militarnyi.com, United24 Media, Euromaidan Press, and ASTRA: five independent outlets with geolocated fire imagery. Governor Vladimirov denials for both 16 May and 20 May are noted and graded CRED 5 given direct contradiction of the 16 May claim by fire imagery. The Zelensky oil-revenue figure of billion and the 10 percent refinery throughput reduction are single-source from Ukrainian presidential statements; they are corroborated directionally by Bloomberg’s independent calculation of Russian throughput at a 17-year low in April. The Reuters supply-chain documentation linking Nevinnomyssk Azot to Sverdlov Plant explosives production is based on trade data and is CRED 1. Coordinates are calculated from publicly available location data for both facilities and corroborated against city-centre reference points. No satellite imagery has been used in this report; post-strike imagery is expected within 24 to 48 hours and will be reviewed for a follow-up assessment.
MGRS datum: WGS84 / UTM Zone: 38V (Kstovo) and 37T (Nevinnomyssk) / Cross-check references: Kstovo city centre 38VMH5091422498; Nevinnomyssk city centre 37TGK3344645952.

All claims independently attributed and verified to open sources where possible.

Approved for Publication

Marcus V. Thorne
Lead Editor, Strategy Battles

OSINT // PUBLIC RELEASE
FILE SB-2026-0520-001 // CLEARED

©StrategyBattles.net 2026

This article is for news and analysis purposes only. Based on publicly available news sources and military updates. All rights reserved. Not for commercial reuse without permission.

Strategy Battles Editorial Team

Strategy Battles is led by Marcus V. Thorne, a military analyst and open-source intelligence specialist with over a decade of operational experience in defence logistics and tactical conflict reporting. Marcus oversees the editorial direction of every report published on Strategy Battles, applying a rigorous multi-stage verification process designed to deliver accurate, accountable journalism in an information environment increasingly defined by wartime disinformation.

Related Articles

Back to top button