Underground is a story about the ineffable distance of freedom. The enslaved can try to improve their lives within the confines of a plantation, like Ernestine and Sam did, or they can run toward free territory, as the Macon 7 planned to do. No matter the route, the goal seems farther away upon approach. No matter the choice, these characters are left with one option: Stand their ground. We see this happen again and again in “The White Whale,” and it makes for an engrossing, if anxious and frustrating, season finale.
The episode opens with Ernestine praying. “Lord, make me an instrument of peace,” she begins, as we see a montage of her serving the Macon family a meal (which I wrongly predicted — nay, hoped! — was poisoned), lifting Suzanna’s newborn from her arms to put him in his crib (remember when Tom decided to name this boy Sam, then hung Ernestine’s Sam an episode later?), and seeing off the smug Reverend Willowset and his valet. (Good riddance!) Misery has worked its way deep inside Ernestine, through her bones and into her marrow.
Tom notices Ernestine’s anguish, and he finds her later to “apologize.” It’s clear that he only wants her to absolve his nagging guilt. Way to make it about you, Tom. Just like always. Good luck looking to ’Stine of all people for absolution. She confesses that she killed Pearly Mae. Tom says she did what she had to do, and invites her to join him in Washington. Then he puts his hand up her skirt. Eww. “We can be free,” he pants, but it’s clear he’s speaking figuratively, not literally. Tom has no intention of freeing any more slaves; with seven runaways and a lynching, how could he afford to? Ernestine doesn’t respond to the plan and doesn’t rebuff Tom’s advances.
At the Hawkes residence, John says it’s too unsafe for Noah and Rosalee to move on to the next underground station. Of all the runaways we’ve seen pass through the Hawkes house, Noah and Rosalee have the coziest stay (next to Boo, who’s being pampered and protected). Noah has a heart-to-heart with Elizabeth, in which they mutually admire each other’s courage. He then visits a bathing Rosalee, and they consummate their relationship like they’re lounging at an Airbnb on honeymoon. In bed, Noah says even though they fought hard to get this close to freedom, it isn’t enough. Rosalee agrees that it’s not real freedom unless everyone is free. It’s nice to see them in a rare moment of respite, but we know what they don’t: This safehouse is never safe. Sheriff Kyle is still bound and gagged under the floorboards. That can’t be good.
August is also on their trail. He tells Jeremiah he intends to kill Rosalee for what she did to Ben. (He survived the stabbing, thankfully, but still needs surgery.) Jeremiah pushes back: He wants the bounty for returning her alive. August and Jeremiah fight it out offscreen, which feels like a callback to Rosalee’s offscreen fight with Bill in episode three, though it lacks any emotional stakes. I’ve never cared about August’s or Jeremiah’s well-being. When Jeremiah drags himself, bloodied, between the barn doors and August shoots him, it falls a bit flat.
Meanwhile, Noah and the Hawkes have devised a plan: Noah will pretend he is hijacking the sheriff’s station. He holds everyone at gunpoint and demands that the captured runaways be freed. This way, the catchers will be lured away by the chance to collect other bounties.
August rides to the Hawkes’ place with two goals: Ask John for an advance on the bounty Tom promised, and telegram a doctor for Ben. Once inside, August is a bit suspicious; Sheriff Kyle heightens that suspicion by banging his head against a support beam. Rosalee and Boo are under the floor too, and Rosalee knocks Sheriff Kyle out cold to shut him up. Elizabeth returns and tells August one of the Macon 7 was spotted at the sheriff’s station. He pretends to leave, but when the Hawkes get Rosalee and Boo from beneath the floorboards, August is lying in wait. A fight ensues and Tom pushes a support beam to collapse the whole floor. They escape and August is waylaid.
Noah is hiding in the woods when he spots a young slave, whom he helped free, get recaptured. Likely because of his guilt over Henry’s death, he intervenes. While he’s choking the catcher, he’s hit from behind. When he comes to, we meet Jeremiah’s boss, Patty Cannon, a redhead chain-smoker who’s pissed about losing the Macon 7 bounties. She tells Noah that if he names his co-conspirators, she’ll let him go. He agrees … and names Sheriff Kyle!
As it turns out, Elizabeth planted abolitionist material in Kyle’s desk before Noah arrived at the station. They worked together to frame him as the abolitionist. To ensure that their conspiracy remains secret, John kills Kyle. It’s no surprise that this murder gives him great joy, considering how Kyle coerced Elizabeth to sleep with him. All of this seems too neat, but I’ll allow it, given how relieving it is to see these characters actually succeed.
While Elizabeth tries to sneak Rosalee and Boo to the next town in a horse-drawn wagon, August catches up. Rosalee hops out and tells Elizabeth to go on without her. After a moment, she turns around to confront August. Rosalee has been a badass ever since she caught Bill in the neck with that bottle. Now she’s an utterly fearless badass. It’s been a thrilling evolution to watch unfold.
August says Ben “will never walk again” and blames Rosalee. Rosalee counters that it’s August’s fault Ben was injured. He has no comeback, so he draws his weapon. Another gun cocks from behind. Elizabeth never left. Come through, Elizabeth! August throws a knife at Elizabeth’s hand, knocking her gun loose. Rosalee takes advantage of the chaos and grabs his gun. In an epic moment of underestimation, August tries to charge Rosalee. She shoots him in the gut. “Want to hunt us down like we animals? You gon’ die out here like one.” Rosalee may lead with her wits, but she’s never been a slouch in a fight.
It’s time to check back in with my fave, Ernestine. Tom visits her in the cellar, promising her a shopping trip and courtship. It’s incredible (and oh-so typical) to see how grossly he’s misjudged their relationship. Ernestine offers him wine (which again, I wrongly predicted — and hoped! — was poisoned). She tells him she was wrong to assume she and her children would ever be safe on the Macon plantation. That’s impossible. Suddenly, a man in the shadows grabs Tom, ties his hands, and puts a noose around his neck. Ernestine cranks him up as he begs and sobs. She watches him die just like he watched Sam die, then unties his hands to make it look like a suicide. Whew. ’Stine is as cold as Beyoncé in the first half of Lemonade! She ends her evening by praying the same prayer she began it with, herself at temporary peace.
The victory is short-lived. While she and Suzanna ride in a curtained carriage, Suzanna confesses that she’s always resented ’Stine’s closeness with her children. Now that Tom is gone, Suzanna says, she can finally do something about it. She opens the curtain to reveal — oh no. An auction block! Ernestine is being sold! Suzanna says she intends to bring James back into the house and raise him as her own. Wow. Plantation mistresses are often been depicted as ruthless, but Suzanna just claimed her spot among their top ranks.
Cut to Rosalee and Boo, as they have a picnic in free territory with William Still. (I’ve missed Still’s character. Let’s hope we see more of him next season.) He asks Rosalee to tell him about the Macon 7. As she describes each of them, we see flashbacks — or in Cato’s case, a flash to the present. He’s alive! He’s wounded, but still on the move. Will he make it?
The montage also reveals that Noah was recaptured. I guess Patty Cannon went back on her word and didn’t release him. No surprise there. He’s taken to a holding space for runaways, similar to the one from the pilot — and just like in that spot, the freedom song is carved into the wall. Harking back to her conversation with Noah, Rosalee tells Still she’s going back. “I can’t look away no more. If I stay here and try to start a new life, that’s all I’ll be doing.” She’s joining the abolitionists.
In the final scene of the season, a rifle-wielding woman uncovers Rosalee from the bed of a wagon. “Heard you lookin’ to steal slaves,” the woman says. “I aim to teach you how.” She introduces herself as “Harriet.” Yes, it’s Harriet Tubman!
And so, the first season of Underground ends with few happy endings. More of the Macon 7 are dead, injured, or recaptured than free, but that’s one of the most realistic things about this show: Happy endings were extremely rare for the enslaved. Despite its action sequences, brilliant performances, and shocking twists, this is a show about a reprehensible period in American history. Underground never lets you forget that, nor should it.
All in all, “The White Whale” offers a solid setup for season two. When Underground returns, it will face a bevy of new stories. We’ll see Ernestine on a new plantation — and knowing Suzanna, it won’t be a nice one. We’ll follow Rosalee’s search for her mother and Noah. We’ll find out what has become of Cato and James. Noah will likely pull another escape with new runaways. And, of course, Harriet Tubman!
Other Notes:
Patty Cannon and her men treated August’s injuries, then held him captive for killing a white man, which is apparently a cardinal sin among slave-catchers. Go figure. I’m less interested in this story line, so hopefully Ben will return next season.
Suzanna doesn’t seem broken up about Tom’s death. Given that she’s the one with the family history of plantation ownership, will she run the place now?
In a tightly packed episode, a couple of characters are stunned by emotional bombs. August tells John that Rosalee is his niece. John has to break it to Rosalee that Tom killed Sam. How will this affect their relationship next season?
It’s been thrilling to watch and write about season one. Thanks to everyone who joined me along the way!
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"3":3,"6":6,"17":17,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(17),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(3),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let i=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||i.classList.remove("open")})}function gtmSendReport(e,n,t){let i={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(i.eventLabel=n.href),gtm.reportNow(i)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const i=t.split("?"),o=new URLSearchParams(i[1]);for(let e of n.entries())o.set(e[0],e[1]);t=`${i[0]}?${o.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),(auth.isSubscriber()||auth.isMobileAppRequest())&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"3":3,"4":4,"17":17,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(408),Fingerprint2=require(407),DS=require(406),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(106),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(408),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"106":106,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"408":408,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]