ADVERTISEMENT

A review of 'One Battle After Another'

Published Sep 28, 2025 08:16 am
Leonardo DiCaprio in 'One Battle After Another' (Instagram)
Leonardo DiCaprio in 'One Battle After Another' (Instagram)
This is one of those times when I walked into the theater, expecting a certain something from a movie, and got more than what was promised. If you’ve seen the trailer for "One Battle After Another," you may be in the same boat as me. The latest film by Paul Thomas Anderson, known
for psychologically heavy films, is right up his wheelhouse. I expected a lot of gravitas, scenes where the air itself seems thick with weight and drama, and long, handheld shots that put you in the center of the story.
What I didn’t expect was to laugh as much as I did. And not because it was bad or cringe, but there was something funny – intentionally funny– about the whole thing, serious as it was.
In truth, there really shouldn’t be much to laugh about. The film follows a group of former revolutionaries as they attempt to survive while being hunted by an old nemesis. Leonardo DiCaprio plays Bob Ferguson, an explosives expert who was forced to re-evaluate his life choices upon the arrival of his baby daughter with an even harder-core extremist, Perfidia Beverly Hills, unapologetically played by Teyana Taylor.
Sean Penn plays Colonel Lockjaw, a tough-as-nails caricature of a career military man, who wants Bob’s grown-up daughter, Willa (Chase Infinity), dead, for his own selfish, nefarious reasons. All of it is very serious, weighty subject matter, and yet there we were in the theater, chuckling and guffawing. There’s a certain genius to that, to present a weighty topic, keep it serious, and yet still make it funny.
There’s a certain deftness as well to DiCaprio’s manic portrayal of a paranoid has-been revolutionary always looking over his shoulder. For all his over-the-top bravado and anti-establishment rhetoric, Bob’s genuine love for his daughter breaks through to the surface, making him the most clueless yet relatable character in the film. It is his love for Willa that motivates him through his drug-induced stupor, forcing him back, hilariously, into the life he left behind.
The perfect foil to DiCaprio is Benicio Del Toro’s Sensei Sergio, a laid-back Mexican martial arts instructor operating an underground railroad for Latinos who have crossed the border illegally. Equally willing to stand up to the man, Sergio grounds Bob’s hyper paranoia enough to get him to focus on protecting his daughter. In a movie full of radical elements, Sergio stands as a calming voice, simply by being the quiet one in an often deafening film.
The script is witty, equal parts social commentary, comedy, and family drama, and tackles issues that are particularly pertinent today in the United States, such as immigration and abuse of power, which makes me wonder how it will fare in these volatile times. Though not overtly political, it's not hard to see Penn’s character lampooning toxic masculinity, or as a stand-in for any number of real people in the world who throw their weight around to the detriment of the little guy.
If you’re looking for something a little offbeat for a change of pace from big blockbuster tentpole movies, as well as an instant contender for best picture, this is definitely something worth checking out.
"One Battle After Another" is out in theaters now.
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.