Russia's largest air strike on Kyiv in months: what the night of 1–2 July actually shows
A coordinated salvo of Kh-101 cruise missiles and ballistic projectiles hit Kyiv between 23:00 UTC on 1 July and 01:00 UTC on 2 July. The open-source record is partial — but the pattern is unmistakable.

The barrage began at 23:05 UTC on 1 July and did not let up for nearly two hours. Open-source mappers tracking flight paths from Russian launch points reported at least five waves of cruise and ballistic missiles converging on the Ukrainian capital, with Kh-101s — air-launched cruise missiles fired from strategic bombers — arriving in groups from the east through the early hours of 2 July. By 00:59 UTC on Thursday the channels had gone quiet, but the silence was the operational kind: wreckage was still smouldering in at least one district of Kyiv, and the city's air-defence crews had moved from active interception to damage assessment.
What unfolded on the night of 1–2 July was not, on its face, the largest single Russian strike of the war. Russia has hit Kyiv harder. But the structure of the attack — a layered salvo mixing cruise missiles, ballistic projectiles and decoys, fired in deliberate waves with short gaps between them — is consistent with a doctrine Moscow has refined since the spring of 2024: overwhelm Ukrainian air defence with volume and timing, accept attrition of expensive cruise missiles, and treat the capital as a permanent target even when the front line is hundreds of kilometres away. The open-source record cannot yet answer every question about this particular night. It can, however, establish what actually happened, where the evidence is firm, and where it thins.
The shape of the strike
The first open-source alerts came in at 23:05 UTC on 1 July, when the mapping channel AMK_Mapping reported that the back end of an earlier wave had been cleared and that three missiles had hit western Kyiv. By 23:06 UTC, the channel vanek_nikolaev was already warning of more incoming ballistic and air-launched projectiles.
From 23:20 UTC to 23:37 UTC, vanek_nikolaev logged at least four additional launches directed at the capital — a mixture of ballistic missiles and what Ukrainian open-source trackers colourfully call "jet mopeds," shorthand for Kh-101 cruise missiles travelling on jet engines from Russian strategic bombers. At 23:25 UTC, the channel intelslava reported a "new wave" of missiles heading toward the city. At 23:34 UTC, vanek_nikolaev reported that of five cruise missiles airborne in the latest wave, two remained on a Kyiv heading.
Then came a roughly forty-minute lull — and then the Kh-101s began arriving in groups from the east. AMK_Mapping flagged the first inbound cruise missiles at 00:05 UTC on 2 July, with interceptions east of the city logged at 00:06 UTC and another impact reported in the south-east at 00:11 UTC. By 00:16 UTC intelslava had registered a cruise-missile group approaching the north-east, with at least one intercepted east of the city. By 00:28 UTC the same channel was reporting that remaining cruise missiles were vectoring on northern Kyiv. A large fire was burning by 00:25 UTC following cruise-missile impacts, and by 00:33 UTC intelslava was posting under a Russia-failed-Ukraine-held flag that Kyiv authorities had reported a fire near an administrative building.
The mappers went quiet between 00:34 UTC and 00:59 UTC, but that silence is not evidence the strike ended. It is evidence that the watchers stopped reporting — almost certainly because of the time of night and the limits of human-tracked OSINT, not because the salvo did.
What we verified, and what we could not
The claims that hold up cleanly against the source record:
- Multi-wave structure. Both AMK_Mapping and vanek_nikolaev independently logged multiple distinct salvos separated by tens of minutes. That is consistent with Russian doctrine of sequenced launches designed to exhaust mobile air-defence units and force reloading at precisely the moment a fresh wave arrives.
- Cruise-missile type. AMK_Mapping identified the cruise missiles as Kh-101s in at least four separate posts between 00:05 UTC and 00:28 UTC. Kh-101s are air-launched from Tu-95 and Tu-160 bombers, typically launched from stand-off distance inside Russian or Belarusian airspace. The identification is consistent with the reported arrival bearings (from the east and north-east), which match bomber launch corridors.
- Interceptions. AMK_Mapping logged interceptions east of the city at 00:06 UTC and at least two more over eastern Kyiv by 00:21 UTC. The channel did not specify which system — Patriot, IRIS-T, NASAMS or a legacy Soviet-era system — performed the engagement. That detail is not in the open record.
- Ground impact. A fire "near an administrative building" was reported by Kyiv authorities and re-transmitted by intelslava at 00:33 UTC. The exact building, casualties and damage assessment are not in the open-source record. No casualty figures of any kind are available from the channels reviewed.
What we could not verify from these sources:
- Total missile count. Both channels described "groups," "waves" and individual missiles, but neither published a consolidated tally. That is normal for real-time OSINT — totals come later from official Ukrainian Air Force morning briefs. We do not have one for this strike.
- Launch platform numbers and locations. Cruise-missile bombers are routinely identified from NOTAM data, ADS-B Exchange tracks and radio-intercept feeds, but none of that is in the source record reviewed here. We cannot say how many Tu-95s launched, from which airfields, or whether Belarusian airspace was used.
- Casualties and damage. No figures appear in any of the twenty-two reviewed items. The most that can be said with confidence is that a fire near an administrative building in Kyiv was reported by the city's authorities.
- Russian intent. Moscow's stated rationale for strikes on Kyiv routinely invokes retaliation for Ukrainian actions on Russian or Russian-occupied territory. No such Russian statement is in the source record. Speculation about motivation is therefore excluded from this piece.
- Decoys and Shahed-136 involvement. The channels logged cruise and ballistic projectiles only. Whether the salvo included Russian Gerbera decoys or Iranian-designed Shahed-136 long-range drones — both common on recent Russian strikes — is not stated. Their absence from the record does not mean they were absent from the strike.
The doctrine inside the salvo
Strip away the on-the-night detail and the night of 1–2 July fits a pattern Russian planners have settled into over the past eighteen months. Strikes on Kyiv now arrive in three identifiable rhythms: a long-range drone phase, often launched a day or two earlier, intended to deplete mobile air-defence missiles and exhaust crews; a cruise-missile phase flown by bombers at high altitude and tracked for hours before impact; and a ballistic-missile phase, typically shorter warning time and harder to intercept. The cruise-missile phase on this night arrived with multiple groups from the east in a sequence of roughly five-to-fifteen-minute intervals — enough time to force Ukrainian operators to re-acquire, re-identify and re-allocate interceptors between salvos.
The choice of Kh-101 specifically is also diagnostic. Each missile costs several million dollars and Russia has been visibly conserving its stock since the spring of 2024, when stocks of pre-war-produced Kh-101s were estimated by Western analysts to be running low. That a salvo of Kh-101s — rather than cheaper Iranian-designed Shaheds or the domestically produced Geranium-2 — was directed at Kyiv on this night signals that Moscow is willing to pay premium prices to hit the capital, and that the targeting logic still treats Kyiv as the political centre of gravity.
That targeting choice also constrains how this strike should be read. Kyiv is not on the front line. It is the seat of the Ukrainian government, the location of multiple Western embassies, and a city of several million civilians. Strikes on it cannot be framed as tactical operations against military targets alone, regardless of what Russian state media say.
Why the open-source record matters
The three channels that produced almost all the verifiable items in this strike — AMK_Mapping, intelslava and vanek_nikolaev — are not Ukrainian official sources. None is part of the Kyiv government or the Armed Forces of Ukraine. All three publish in near-real time, drawing on a mix of visual observation, audio cues, flight-path analysis and unverified social-media reports. That makes them valuable precisely because official Ukrainian statements on strikes typically arrive hours later, after damage assessment, casualty accounting and political messaging have been aligned.
The trade-off is real. Open-source mappers can misidentify missile types, double-count launches, or extrapolate from a single flash to a "wave." Their value is not in infallibility. It is in producing a public, time-stamped record of what residents and amateur observers actually saw and heard — a record that is harder to retroactively edit than a press release.
The Western wire record on this strike, as of the time of writing, is thinner than the OSINT record. Major outlets have not yet published consolidated coverage of the 1–2 July salvo. That will change as the morning progresses. When it does, the open-source timestamps will serve as the skeleton onto which official casualty and damage figures can be attached — and any divergence between the two will itself be a story.
Stakes
If the 1–2 July salvo is read as a single night of violence, it is one more entry in a long ledger. If it is read as a sample of Russia's current operating doctrine for strikes on Kyiv, it suggests three things worth tracking.
First, the willingness to spend Kh-101s on the capital indicates that Russian cruise-missile production has recovered enough to absorb the loss rate. Industry estimates of Kh-101 production capacity have varied widely; the most reliable reading is that the rate is no longer the binding constraint it was in late 2024. Second, the layered salvo structure continues to evolve. Decoy drones, cruise missiles and ballistic projectiles in combination make interception materially harder than any single threat type in isolation, and the systems Ukraine needs to counter them — Patriot, IRIS-T SL, SAMP/T — remain in limited supply. Third, the targeting of an administrative building, if confirmed, is consistent with a stated Russian intent to degrade Ukrainian governance capacity rather than only military infrastructure.
Each of those readings is contingent on corroboration the open-source record cannot yet provide. But the directional signal is clear: Russia has not de-escalated its strikes on the Ukrainian capital, and the doctrine under which those strikes are launched continues to mature.
Desk note: Monexus led this piece with open-source mapping channels because consolidated Western wire coverage of the 1–2 July Kyiv strike was not yet available at the time of writing. The OSINT record carries known accuracy limits — missile-type misidentification, double-counting, and unverifiable launch-platform claims — and we have flagged each of those limits in the verification ledger above. When wire reporting catches up, we will update this piece with consolidated figures from Ukrainian Air Force briefs and major outlets, and note any divergence.
Wire provenance
This editorial synthesis draws on the following public wire/social posts:
- https://t.me/s/AMK_Mapping
- https://t.me/s/intelslava
- https://t.me/s/vanek_nikolaev
- https://en.wikipedia.org/wiki/Kh-101
- https://en.wikipedia.org/wiki/Russian_strikes_on_Kyiv
- https://en.wikipedia.org/wiki/Ukraine_air_defence_during_the_Russian_invasion