ADVERTISEMENT

Clashes erupt at Serbian anti-government protests, with dozens injured

Published Aug 13, 2025 10:34 pm
BELGRADE, Serbia (AP) — Clashes erupted at protests in Serbia between opponents and supporters of the government in an escalation of tensions following more than nine months of persistent demonstrations against populist President Aleksandar Vucic.
An image taken from video shows fireworks flying as clashes erupted at protests in Vrbas, Serbia, Tuesday, Aug. 12, between opponents and supporters of the government in an escalation of tensions following more than nine months of persistent demonstrations against populist President Aleksandar Vucic. (N1 Serbia via AP)
An image taken from video shows fireworks flying as clashes erupted at protests in Vrbas, Serbia, Tuesday, Aug. 12, between opponents and supporters of the government in an escalation of tensions following more than nine months of persistent demonstrations against populist President Aleksandar Vucic. (N1 Serbia via AP)
The skirmishes first started on Tuesday evening in Vrbas, northwest of the capital Belgrade, where riot police separated protesters from the opposing camps outside the governing Serbian Progressive Party offices in the town.
Images from the scene showed government supporters throwing flares, rocks and bottles at the protesters, who hurled back various objects. Police said that dozens of people were injured, including 16 police officers. Similar incidents were reported at protests in other parts of the country.
The student-led protests in Serbia first started in November after a train station canopy collapsed in the northern city of Novi Sad, killing 16 people and triggering accusations of corruption in state infrastructure projects.
Protests have since drawn hundreds of thousands of people, shaking Vucic's firm grip on power in Serbia. The president's supporters have recently started organizing counterdemonstrations, fueling fears of violence.
Police said that several people were detained after the clashes in Vrbas. Police Commissioner Dragan Vasiljevic told state-run RTS television that the protesters “came to attack” the governing party supporters outside the party's offices.
Vucic said at a news conference on Wednesday with Austrian Chancellor Christian Stocker that pro-democracy protests in Serbia have been “very violent and were violent last night."
Serbia's president, other government officials and pro-government media repeatedly have described the protesters as “terrorists,” though protests in Serbia since November have been largely peaceful.
Protesters have said that government supporters attacked them first in Vrbas and also further south in Backa Palanka and later in Novi Sad and the southern city of Nis. In Belgrade, riot police pushed away protesters who gathered in a downtown area.
Led by university students, the protesters are demanding that Vucic call an early parliamentary election, which he has refused to do. Protesting students have also called for the ouster of Interior Minister Ivica Dacic over recent violence at demonstrations.
Serbia is formally seeking European Union membership, but Vucic has maintained strong ties with Russia and China. He has faced accusations of stifling democratic freedoms since coming to power 13 years ago.

Related Tags

WORLDNEWS
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.