91³Ô¹ÏÍø

Watch CBS News

"Breaking Bad" returns for final episodes

"Breaking Bad" is back for its final farewell.

The AMC drama begins airing the last eight episodes in the series this Sunday, returning fans to the world of chemistry-teacher-turned-drug-kingpin Walter White.

We left off, of all places, in a bathroom. That's where Hank (Dean Norris), leafing through a book of poems, realized his brother-in-law Walt (Bryan Cranston) is the meth king known as Heisenberg.

Things pick up again this weekend with the premiere hour. Here's what we know heading into the show's return (Warning: Stop here if you want to be completely surprised):

- Sunday's episode is titled "Blood Money," and was directed by Cranston himself.

- During last year's opener, viewers were treated to a flash-forward showing Walt apparently on the run and celebrating his 52nd birthday. Critics' reviews of the premiere indicate we'll get another flash-forward during this episode.

- Hank will confront Walt at some point during Sunday's hour. An Associated Pressinterview with Norris includes this bit of dialogue:

"All along it was YOU," Hank seethes in the opener. "I will put you under the jail!" "In six months you won't have someone to prosecute," taunts Walt, who, after all, is dying from terminal cancer. Then he adds as a barely veiled threat: "Maybe your best course would be to tread lightly."

-They'll be a live discussion show, called "Talking Bad," airing at 11 p.m. ET each week. Sunday's episode will have series creator Vince Gilligan as a guest, along with actress Julie Bowen ("Modern Family").

- Gilligan is happy with how the show ends. Speaking at Comic-Con last month, he told fans, "I am satisfied by the ending. I hope you will be, too. My writers and I, and everyone in front of the lens and behind it I think is feeling pretty good about it."

- Cranston is also happy with Walt's ending. In a recent interview with , he said, "You know, there was apprehension of reading the last episode because once you read the last episode, there's no more episodes to read -- it's just like, whoa, I don't want it to end. But I can honestly say that fans of our show will be very pleased, very satisfied with the outcome. It's very 'Breaking Bad' -- unapologetic and very appropriate. We cover it all. I can tell you this: There's not going to be a sense of, 'Wait a minute, what?' That's not going to be the case with 'Breaking Bad.'"

- This might not be the end after all. AMC is said to be developing a potential spin-off centered around shady lawyer Saul Goodman (Bob Odinkirk), though nothing has been set in stone yet.

"Breaking Bad" airs Sunday at 9 p.m. ET on AMC.


View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=fd53910ecf4604072044ab7c46d9b028'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });