ADVERTISEMENT

The kings of two wheels take on the Tour of Luzon

Published Apr 24, 2025 11:15 pm

Ramon Bonilla.jpg

Cycling is a way of life for many, woven through the fine threads of Filipino history and continues to become the symbol of persistence and pursuit of personal merit.

For some, it is a mode of mobility, a healthy and sustainable way of traveling from Point A to B. Others find it a lasting trend, where the norm lies on who's the strongest, the slowest, or for the privileged ones, the richest.

But in this last stretch of April, cycling has a different meaning with the "Great Revival" of the Tour of Luzon, the famous race that is set to conquer 1,074.9 kilometers of paved roads from Ilocos Norte and up to a cold mountaintop finish in Baguio City from the 24th of this month to May 1.

For the 119 athletes of 17 local and foreign teams, cycling is a lifeline, a test of endurance, a punishment that stretches eight stages, with the salvation waiting at the end in the form of a checkered flag. The gruelling competition is a revisit of sorts for the storied event, a ride through the glory days of the sport which is the most anticipated summer spectacle in yesteryears.

Looking back on the old days, thousands of fans lined up to catch a glimpse of the kings of two wheels, with the air of excitement pumping hard on the major thoroughfares of the provinces regardless of the heat, the dirt, and the long wait.

Filipinos were simply hooked to the drama, rivalry and intensity, with each cyclist likened to a superhuman, the best and fastest celebrated in true celebrity fashion.

And the race is now revived since it was shelved in 2019.

The first stage takes the riders in a loop that starts and ends in Paoay, Ilocos Norte, covering 190.7 kilometers of savage racing in this toasting temperature along the towns of Pasuquin, Bangui and Burgos.

The tournament continues with a 68.39-km team trial, a 130.33-km Vigan to San Juan, La Union Stage 3, 162.97-km Agoo to Clark Stage 4, 166.65 Clark to Clark leg via New Clark City in Stage 5, 168.19-km Clark-Lingayen Stage 6, 15.14-km individual time trial from Labrador to Lingayen in Stage 7, and the hardest climb and possibly the turning moment of the entire tour, the 172.53-km Lingayen to Baguio City Stage 8.

After the rigorous task, the individual overall winner will receive ₱500,000, while the champion team gets a ₱1 million cash prize.

Cycling is a prime mover for the majority, but for the few, it is a calling. Cycling is not just battle of stamina, of pushing those iron legs to its last speck of energy and giving that loud roar of grit and relief at the finish.

It is a fight for survival confined in eight laps of sweating, bleeding, and all the mental beating under the scorching sun. For the 119 participants, it's more than just a ride.

In a sport that enjoys a cult following since its heyday, Tour of Luzon is as refreshing as the morning breeze before the starting gun. Good luck, riders!

(Ramon Rafael Bonilla is theSports Editor of Manila Bulletin)

Related Tags

ramon bonilla EDITORS DESK
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.