ADVERTISEMENT

Madonna finds her groove again: A review of 'Confessions II'

Published Jul 10, 2026 04:36 pm

There comes a point in every pop legend's career where someone inevitably suggests they should "go back to what worked." Usually this produces something depressing: an album that mistakes recreating old production tricks for recapturing old inspiration, like watching someone desperately try to reboot their own personality.

Madonna's "Confessions II," arriving 21 years after "Confessions on a Dance Floor," sounds like it should fall into that trap.

Instead, Madonna does something far more interesting.

Rather than remake "Confessions," she remembers why that album worked in the first place. It wasn't because of disco strings or relentless four-on-the-floor beats. It was because every dance track felt like it was hiding an autobiography underneath. That instinct returns here in force.

After spending much of the last two decades experimenting with contemporary trends—from the occasionally awkward trap flirtations and early starts of hyperpop on "Rebel Heart" to the Latin-pop detours of "Madame X"—Madonna sounds liberated by simply making dance music she actually seems to enjoy.

Stuart Price once again understands that club music doesn't need to shout constantly to feel euphoric. Tracks stretch out like extended 12-inch mixes, allowing grooves to breathe instead of sprinting toward TikTok-ready choruses every ninety seconds.

The production borrows shamelessly from old-school Chicago house, deep house, and late-'80s club culture, but crucially it borrows from the right places.

"Bring Your Love," featuring Sabrina Carpenter, channels the optimism of Inner City's "Good Life" without becoming karaoke.
"Love Without Words" suddenly erupts into acid house halfway through like someone accidentally found an entire Roland TB-303 hidden behind the sofa. It's delightful. More importantly, Madonna finally sounds comfortable again.

The album's emotional centre isn't the dancefloor; it's 1980s New York.

Songs like "Danceteria" and "LES Girl" sketch vivid snapshots of an ambitious young artist bouncing between underground clubs, artists, lovers, and impossible dreams. They're less "remember when everything was better?" and more "remember when everything was uncertain?" That's a much richer perspective. Nostalgia usually edits out anxiety. Madonna leaves it in.

The slower second half works even better.

"Fragile," written for her late brother Christopher, quietly becomes one of the most affecting songs she's released in years, while "The Test," featuring daughter Lourdes, reflects on motherhood with enough vulnerability to avoid becoming sentimental. It's reflective without feeling self-important, a surprisingly rare feat.

The album isn't flawless. At over an hour, a couple of house tracks blend too much into the background, and there's no obvious successor to "Hung Up."

"Confessions II" isn't trying to convince you Madonna is still twenty-five. It's reminding you that experience can be just as compelling when the artist trusts it. After years of chasing where pop music was going, she's finally turned around and discovered she was already standing somewhere worth revisiting.

Related Tags

Madonna Confessions II Confessions on a Dance Floor Stuart Price Sabrina Carpenter Lourdes Leon Bring Your Love Love Without Words Danceteria LES Girl Fragile The Test Hung Up album review
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; } }

{{ static_articles_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.