ADVERTISEMENT

Disgust-tation: A review of 'The Menu'

Published Dec 5, 2022 06:52 am
A scene from 'The Menu'

Directed by Mike Mylod, and boasting of a super cast led by Ralph Fiennes, Anya Taylor-Joy, and Nicholas Hoult; The Menu is a smart satire that takes on the pretentious world of degustation menus, food critics, and the acolytes of elevated fine-dining. The funny thing is that not content to be an outrageous black comedy, the film also wants to be an uncomfortable horror film that utilizes jump scares and grisly shocks to bring home a bigger message about class, abuse of the service industry, and retribution.

Mike Mylod is best known for his Television work on Succession and Shameless, and directed up to six episodes of Game of Thrones back in 2016. Visually, the film is stunning. One may even say that the intent to heap ridicule on this rarefied world of gourmand dining is offset by the gogeous food porn shots. It’s as the narrative shifts from potent irony and deadpan delivery, to the horror and suspense elements that the narrative flow falters.

The set up is beautifully done, as we watch as Margot (Taylor-Joy) and Tyler (Hoult) await the ferry that will take the couple and nine other guests to the remote island where acclaimed chef, Julian Slowik (Fiennes), runs his secluded and ubër-expensive restaurant, Hawthorne. There, we find one other diner, revealed to be Chef Julian’s own mother. The island is a haven for epicurean dining, and it isn’t lost on us that Tyler is all-in as a disciple to this exalted dining experience.

Margot is immediately pegged as more of a cynic, ready to steal a cigarette break even if Tyler warns her it’ll be killing her taste buds for what’s to come. There’s a food critic and her editor also on board, and the snatches of conversation between the two reeks of the pretentiousness that the brains behind the film obviously want to demonstrate.

Julian is the ultimate master of his island universe; and it’s Fiennes at his best - showcasing an imperious attitude, and asking nothing less than the slavish loyalty of his staff, and rasp attention of his clientele. Hong Chau as Elsa, the maitre d’, impresses in her stoic portrayal, and I thoroughly enjoyed her role.

From what I’ve written, one could even say this is something of a companion piece to Triangle of Sadness, going satirical on the super-rich and entitled, and exposing just how silly and shallow they can be in the pursuit of showing off that they can afford. And for the first half of the film, this is exactly what we get and I loved it.

It’s the ‘getting serious’ part that had me flummoxed, as not enough was done exposition-wise to explain why Julian is hell-bent on his ultimate dining experience for the assembled diners, nor why Tyler brought Margot to the dinner. These are just two of the loose ends in terms of motive, that I couldn’t resolve. And to be honest, it spoiled what was a terrific first half of the film.

Go to watch the wonderful acting, the food shots, and the dark comedy; but just suspend disbelief as the film goes over the edge, in its attempt to bite off more than it can chew, and also be a horror-suspense outing. 

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.