ADVERTISEMENT

'Bon Appétit, Your Majesty' finale achieves its highest ratings, No. 12 in all-time ranking

Published Sep 29, 2025 07:49 am
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)

The 12th and final episode of the hit Korean drama “Bon Appétit, Your Majesty” broke its own ratings records. 

Led by actress Yoona and actor Lee Chae-min, “Bon Appétit, Your Majesty” ended its run on Sept. 28. 

According to polling firm Nielsen Korea, “Bon Appétit, Your Majesty” episode 12, which aired on Korean cable channel tvN, got a rating of 17.107 percent nationwide (peaking at 19.4 percent) in South Korea, its highest since the premiere of episode 1 on Aug. 23, which received a nationwide rating of 4.856 percent.

This ranked “Bon Appétit, Your Majesty” in 12th place among the highest rated cable TV series  in South Korea of all time. 

In the metropolitan area (Incheon, Seoul and Gyeonggi), “Bon Appétit, Your Majesty” episode 12 achieved a rating of 17.407 percent (peaking at 20 percent), also its highest since episode 1.

Episode 12 ranked first among all programs that aired on Sept. 28 in South Korea based on Nielsen Korea data.

Among men and women in their 20s and 40s, tvN’s target demographic, episode 12 recorded ratings of 6.5 percent (peak of 7.6 percent) nationwide, and 5.8 percent (peak of 7.1 percent) in the metropolitan area, sweeping first place in the same time slot across all channels, including terrestrial channels. 

Throughout its entire run, “Bon Appétit, Your Majesty” maintained its No. 1 spot among all programs on paid platforms integrating cable, IPTV, and satellite in South Korea. 

“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)

“Bon Appétit, Your Majesty” Ratings (Source: Nielsen Korea) 

EPISODE / DATE  NATIONWIDE / METROPOLITAN AREA

1. Aug. 23, 2025 - 4.856% (1st place) / 5.101% (1st place)

2. Aug. 24, 2025 - 6.642% (1st place) / 6.506% (1st place)

3. Aug. 30, 2025 - 7.589% (1st place) / 7.172% (1st place)

4. Aug. 31, 2025 - 11.063% (1st place) / 11.419% (1st place)

5. Sept. 6, 2025 - 10.818% (1st place) / 11.646% (1st place)

6. Sept. 7, 2025 - 12.742% (1st place) / 13.135% (1st place)

7. Sept. 13, 2025 - 12.647% (1st place) / 12.828% (1st place)

8. Sept. 14, 2025 - 15.405% (1st place) / 15.815% (1st place)

9. Sept. 20, 2025 - 13.463% (1st place) / 14.222% (1st place)

10. Sept. 21, 2025 - 15.750% (1st place) / 15.942% (1st place)

11. Sept. 27, 2025 - 12.393% (1st place) / 11.848% (1st place)

12. Sept. 28, 2025 - 17.107% (1st place) / 17.407% (1st place) 

Ahead of the final episode, the cast of “Bon Appétit, Your Majesty” thanked viewers. 

Yoona, who played the role of chef Yeon Ji-young, said, "Like Yeon Ji-young, who always cooked with sincerity and consideration for the diners, I reflected on my own feelings and poured my heart into every scene. It's truly sad that it's already ending. I'll never forget the time I spent as Yeon Ji-young, the eight months I spent with director Jang Tae-yoo, all the staff, and my colleagues, both senior and junior, all across the country. Above all, I gained strength from the overwhelming love and support from viewers. I sincerely thank everyone who has supported ‘Bon Appétit, Your Majesty’ and Yeon Ji-young.” 

Lee Chae-min, whose acting for the role of King Yi Heon drew praises, said, "I'm happier and more grateful than ever that our drama was able to conclude with so much love and support."

He added, "It was a precious time that brought me much learning, growth, and happiness, despite my shortcomings. The memories still linger, serving as a driving force for me in the future. I will continue to strive to become an actor who can repay you with great projects and performances." 

Lee Chae-min replaced “Squid Game” actor Park Sung-hoon in “Bon Appétit, Your Majesty” after the latter became embroiled in controversy when he uploaded the porn “Squirt Game.” 

Actress Kang Han-na, who played the role of Kang Mok-ju, said, "I was so happy throughout the show thanks to the love shown by the production team and actors, who painstakingly crafted ‘Bon Appétit, Your Majesty.’ It seems that viewers from all over the world, not just in Korea, watched it together, and I believe it will be remembered as an even more meaningful show. I hope you think of our show every time you enjoy a delicious meal, and I hope you always find happiness."

Actor Choi Gwi-hwa, who played the role of villain Prince Je Seon who coveted the throne, said, "I would like to express my sincere gratitude to the viewers for all the praise."

“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
“Bon Appétit, Your Majesty” (tvN)
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.