ADVERTISEMENT

Demonstrators continue to fill Manila protest areas; crowd swells to 50,000

Published Sep 21, 2025 08:06 am
The crowd in Luneta on Sunday, Sept. 21, 2025. (Photo courtesy of the Manila PIO)
The crowd in Luneta on Sunday, Sept. 21, 2025. (Photo courtesy of the Manila PIO)

Demonstrators in Rizal Park in Luneta and in other areas in Manila continued to swell to around 50,000 on Sunday, Sept. 21, in protest of alleged corruption in government infrastructure projects.

Situation Updates

  • 7 a.m. – More than 300 people had already gathered around Rizal Park, according to the Manila Disaster Risk Reduction and Management Office (MDRRMO). The early assembly marked the start of day-long protests.
  • 9:15 a.m. – The crowd surged to an estimated 13,000 people, based on the latest MDRRMO monitoring. Authorities expect tens of thousands more to join throughout the day

At 10 a. m.Crowd estimated at 20,000, by area:

  • Museong Pambata: 820
  • Mendiola: 400
  • Round Table: 8,300
  • Postal Bank: 50
  • Kalaw corner Maria Orosa: 200
  • NPC Center Island: 20
  • DMB Center Island: data not reported
  • Plaza Guerrero: 200
  • Katigbak: 10,000

The Manila City DRRM Office continues to monitor the events to ensure public safety and order.

Among the early arrivals was Jim Maramba, 32, who traveled from Quezon City. 
"Pinaghandaan ko talaga 'yung pagpunta dito (I’ve been preparing to attend this rally)," said Maramba who is working for a marketing agency.
"Kasama ko mga kaibigan at katrabaho ko para sana kahit papaano may ambag kami sa boses ng Filipino. Matagal nang nagdusa ang mga tao, at panahon na rin para harapin ng mga gobyerno 'yung pananagutan nila (I came here with my friends and colleagues so that, in some way, we could contribute to the voice of the Filipino people. People have been suffering for a long time, and it’s about time the government face their responsibilities)."
By 11 a. m., an estimated 49,000 people have gathered at the Luneta Park for the anti-corruption rally, according to monitoring by the Manila DRRMO. 

Preparedness and Security

City officials earlier placed Manila under Red Alert Status in anticipation of the large turnout and the possible effects of Typhoon Nando, which may bring heavy rains.

Around 3,000 security personnel have been deployed in and around Luneta Park to manage the influx of demonstrators, direct traffic, and maintain order.

This is a developing story.

Related Tags

metronews manila Martial Law anniversary
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.