ADVERTISEMENT

Ukraine targets St. Petersburg again after Putin rejects Zelenskyy's offer for direct talks

Published Jun 6, 2026 10:54 pm
A plume of black smoke is seen over the port of St. Petersburg, Russia, Wednesday, June 3, 2026, after a Ukrainian drone attack. (AP Photo)
A plume of black smoke is seen over the port of St. Petersburg, Russia, Wednesday, June 3, 2026, after a Ukrainian drone attack. (AP Photo)
Residents of St. Petersburg were told not to leave their homes after a large-scale Ukrainian drone attack targeted Russia’s second-largest city Saturday morning, underscoring Kyiv’s growing ability to hit deep inside Russia.

The attack came a day after Russian President Vladimir Putin refused an offer to meet his Ukrainian counterpart.

St. Petersburg Gov. Alexander Beglov said three people sustained minor injuries in the attack. He advised residents not to go outside and warned of possible disruptions to mobile internet service, while regional Gov. Alexander Drozdenko said 141 drones were shot down over the surrounding Leningrad region in what he called an “unprecedented attack.”

Russia’s Defense Ministry said its air defenses shot down 376 Ukrainian drones.

“Last night, our drones covered a distance of about 1,000 kilometers to the St. Petersburg region — to the enemy navy’s arsenals and a base in Kronstadt,” Ukrainian President Volodymyr Zelenskyy wrote on X, adding that drones also hit an oil depot in Russia's southern Krasnodar region.

The renewed attack on St. Petersburg is the latest embarrassing blow to Putin’s efforts to cast the conflict as a distant event that doesn’t affect Russian daily life.

A Ukrainian drone strike set ablaze an oil terminal in the city and hit a nearby naval base Wednesday, hours before the opening of the St. Petersburg International Economic Forum, Putin’s annual showcase for investment.

Speaking at the forum, Putin said Thursday that Russia will strengthen its air defenses to counter recent Ukrainian drone attacks, which have reached deep inside his country and cast a cloud over the event in his hometown of St. Petersburg.

Putin on Friday rejected a proposal by Zelenskyy for a face-to-face meeting on the 4-year-old conflict, saying he sees “no point” in it. Thursday’s letter, the first public message Zelenskyy has written directly to Putin since Russia sent troops into Ukraine in 2022, was a sweeping critique of the Russian leader’s 26 years in power, as well as some taunts about his age.

Responding to Putin's dismissal of the proposed meeting, Ukrainian Foreign Minister Andrii Sybiha said Saturday that things would “only get worse for Russia.”
"Failures will get more humiliating," he wrote on X, warning that there are “no safe places in Russia that can be exempt” from Ukrainian long-range attacks, and that the intensity of attacks “will continue to grow.”

With the front line barely moving as swarms of drones hinder advances, both sides have sought an edge by launching long-range strikes.

In Ukraine, one person was killed and three wounded overnight into Saturday in the Dnipropetrovsk region, as Russian forces struck three districts nearly 30 times with drones and artillery, regional head Oleksandr Hanzha said.

In Zaporizhzhia, seven people sought medical care after a Russian drone strike started a fire at a parking lot, according to regional head Ivan Fedorov.

Russia targeted Ukraine overnight with 272 strike drones, and air defenses shot down 249 of them, the Ukrainian air force said Saturday.
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.