ADVERTISEMENT

Grand Hyatt Manila marks Lunar New Year with set menus and festive take-home treats

Chinese New Year dining at No. 8 China House is paired with nian gao, cakes and hampers from Florentine

Published Feb 9, 2026 07:32 pm
Grand Hyatt Manila's Lunar New Year Collection
Grand Hyatt Manila's Lunar New Year Collection
Lunar New Year celebrations unfold this February at Grand Hyatt Manila, where festive dining experiences and traditional take-home delicacies are offered to mark the arrival of the Year of the Fire Horse.
At No. 8 China House, the hotel presents a series of Chinese New Year set menus available for dinner on Feb. 16, 2026, and for lunch on Feb. 17, 2026. Designed for group celebrations, the menus are built around traditional symbols of prosperity, longevity and abundance, with dishes served family-style.
Three set menus are available. The Happiness Set Menu, priced at P38,880 net for a table of six, opens with yu sheng prosperity toss salad, followed by a platter of barbecue spareribs with black pepper and honey, poached clam in spicy sauce and poached chicken in spring onion oil. Other courses include double-boiled chicken soup with fish maw, pork and papaya; traditional Peking duck served two ways; steamed green grouper with spring onion and soy sauce; pan-fried Angus beef with asparagus and garlic; Chinese baby cabbage with Chinese ham in thick soup; and Yang chow fried rice. Dessert features crispy Chinese rice cake and sliced fruits, paired with jasmine or sparkling tea.
The Longevity Set Menu, at PHP 55,880 net for a table of 10, expands the selection with chilled jellyfish in chili oil and sesame, cucumber with garlic and black vinegar, deep-fried tiger prawns with garlic, shallot and soy sauce, and wok-fried scallops with broccoli and XO sauce. Braised Yifu noodles with crab meat, mushroom, mung bean sprout and onion follow, alongside a bottle of Moët Chandon Imperial Brut.
Chinese New Year set menus at No. 8 China House
Chinese New Year set menus at No. 8 China House
For larger celebrations, the Fortune Set Menu, priced at P70,880 net for a table of 10, features more elaborate offerings, including chicken soup enriched with fish ball, crab meat and bird’s nest; wok-fried Australian lobster in XO sauce; steamed red grouper; deep-fried lamb rib with cumin in spicy sauce; and braised Dongpo pork with abalone. The menu concludes with crispy rice cake and fruits, served with jasmine tea and Moët Chandon Imperial Brut.
Beyond the dining room, Florentine introduces a range of Lunar New Year retail items available throughout the season. Traditional round nian gao and radish cake are offered alongside coconut pineapple whole cakes, with mini versions also available. Gift selections include specialty boxes pairing nian gao with Hennessy VSOP or Hennessy XO, available by advance order, as well as curated hampers featuring nian gao, sauces, dried shiitake mushrooms, roasted nuts, mixed dried fruits and the hotel’s peach tea blend.
Together, the dining menus and retail offerings reflect the hotel’s approach to Lunar New Year as both a shared table experience and an opportunity for gifting, bringing together traditional flavors and contemporary hotel dining in time for the annual celebration.
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.