Humans, Harfoots, elves, dwarves, Orcs, Ents, Tom Bombadils, and everyone else: Welcome back to Middle-earth. It’s been nearly two years since the first season of The Lord of the Rings: The Rings of Power ended with the eruption of Mt. Doom and various other dramatic events, so viewers can be forgiven if they feel a bit adrift as this second season opens. Happily, showrunners J.D. Payne and Patrick McKay and writer Gennifer Hutchison seemingly decided to ease everyone back into the world of the series by keeping a tight focus on a few key characters as the premiere sets up the conflicts to come. Sure, by the end of the episode, the convolutions have begun to accumulate, but that just goes with the territory. It wouldn’t be J.R.R. Tolkien (or a Tolkien-inspired adaptation, in this case) if you didn’t have to keep track of multiple magical objects, characters with names broken by hyphens, strange spots on the map, and songs sung in invented languages.
The episode does not pick up where the previous season left off, at least not immediately. Instead, it swoops back to depict events unseen in the first season because they would have been huge spoilers if we had seen them then. Specifically, after a fairly extensive recap of relevant first-season events, we see the story of Sauron’s first attempt to assume power after the fall of Morgoth. It doesn’t go well! Although he offers a vision of a “new kind of power, not of the flesh but over flesh”; the enslavement of Middle-earth; and a “new and perfect order,” he’s met with a skeptical reception. That’s no doubt in part because he acknowledges “many Orcs will die.” Know your audience, Sauron!
Although Sauron effectively puts down an assassination attempt, his victory proves to be short-lived. Adar (now played by Sam Hazeldine, who assumes the role from Joseph Mawle) decides that rather than crown him the new Dark Lord, he’d rather stab him with the sharp ends of what Sauron assumed would be his crown. This sets a chaotic series of events into motion as Sauron seemingly dies a grisly death, then emits an apocalypse-force-level ice beam. That leaves Adar behind to take the crown, which he does to the cheers of the “children” he just declared free.
But what happens next proves you can’t keep a good man down. (Well, good and man aren’t exactly accurate, but the point still stands.) Sauron first turns into a rat- and bug-devouring sludge. Then, after oozing his way down the side of a snowy mountain and onto the wheel of a passing cart, he takes the life of its driver and resurfaces as the malevolent (but handsome and sometimes disarmingly soulful) Sauron we know — or at least the one we know now. As played by Charlie Vickers, he’s a being of many names, including Halbrand, the identity he had assumed when he met Galadriel way back at the beginning of the first season.
The rest of the opening closes the gap between seasons: Sauron (sort of) befriends a refugee fleeing chaos in the Southlands who wears the crest of the region’s long-displaced king. This will come in handy when Sauron and his new acquaintance experience the shipwreck that brings Sauron to Galadriel. But not before he receives some tips on morality from the Southlander. “You are alive because you have chosen good,” the Southlander tells Sauron. “You have to choose it again. And the next day. And the next. Until it becomes a part of your nature.” To put it simply, this will not happen. Post-shipwreck, Sauron-Halbrand sees in Galadriel a way back to power, and that does not involve doing good one day after another. And after the title screen, we do pick up where we left off before.
There’s a lot going on. On horseback, Galadriel chases after Elrond in an attempt to retrieve the three rings of power forged by the Elven-smith Celebrimbor in the previous episodes. Knowing that Halbrand is actually Sauron, she has good reason to be suspicious, even if she hasn’t yet shared her reasoning. The chase brings both Galadriel and Elrond into the presence of Gil-galad, the high king of the elves. Gil-galad, understandably, wants to know about the rumors he’s heard about Halbrand not being whom he claimed to be. When the truth comes out, the accusations begin. Elrond yells at Galadriel. Galadriel yells back. At the center of it all is the question of whether or not Sauron has had some kind of pernicious influence on the rings or if they’re powered by pure Elvish goodness. Erring on the side of caution, Elrond makes like Harrison Ford in The Fugitive and takes a plunge off a waterfall with the rings in his possession.
Meanwhile, over in Mordor, Mt. Doom continues to doom it up and Adar attempts to consolidate his control over the region and the humans he’s enslaved. These include Sauron, though Adar does not recognize him, seeing only a weak man claiming to be the king of the Southlands. But when Sauron drops the phrase power over flesh as he talks about Galadriel attempting to form a dangerous alliance with “an ancient sorcerer,” it causes Adar to perk up his pointed ears. There’s obviously more to this story.
As Adar attempts to figure it out, the Stranger has a dream of grabbing a staff, followed by even odder visions. (And, yes, while most theories have settled on this character being Gandalf, that has not been confirmed, so he’s going to remain the Stranger until the series makes it a 100-percent-sure thing.) Nori wants to help her traveling companion, as she accompanies him to look for the stars he’s seemingly destined to reach, but there’s not much she can offer beyond words of comfort. What’s more, they’re lost. “Panic is the fool’s meal, Nori. We would be wiser to sup on patience,” the Stranger tells her. But Nori has other ideas, strongly suggesting he use his magical powers, however unreliable, to create some food. He does this successfully, even if Nori, unlike her companion, seems happy eating bugs. But an even more pressing problem seems to be on the horizon in the form of death-mask-clad figures following our heroes from a distance. Maybe they’re friends? (They’re probably not friends.)
Still, even with danger on the horizon, the Stranger and Nori appear better off than Sauron, at least for the moment. Not only is he imprisoned and kept within a whisker’s length of a hungry Warg, but he has to endure the taunts of Waldreg, the Southlander sellout who has decided his best course of action is to side with Adar. This doesn’t work out too well in the long term. Although Waldreg mocks Sauron’s suggestion that Adar will free him, Adar ends up doing just that — and freeing the Southlanders — after sharing the story of when he first met Sauron. “Sauron has returned in a new form,” he tells Adar, and technically that’s true. He also promises to use the trust of the elves to find Sauron for Adar, then kneels before him and swears allegiance to the “Lord Father of the Orcs.” This earns Sauron his freedom but not before arranging for Waldreg to be eaten by his Warg. Point: Sauron (and the Warg, I guess).
In a far sunnier corner of Middle-earth, Elrond decides to take refuge with Círdan (new addition Ben Daniels), a revered shipwright and, by all appearances, a wise and reliable (and bearded) elf elder. He also instantly discerns that Elrond has in his possession something “louder than the sea.” To those alert to them, the rings announce their presence wherever they go. Elrond is counting on Círdan’s wisdom to bring the ring problem to an end by destroying them. Although Círdan cautions that this will mean the end of “the age of the elves,” Elrond sees no other course, and Círdan agrees to do the disposing of them himself by taking them out to sea. But even as incorruptible as Círdan seems, he can’t resist the call of the rings after they “accidentally” spill out mid-journey.
While this plays out, Galadriel and Gil-galad agree that Celebrimbor must be warned immediately, then form an alliance of convenience built around their shared desire to destroy Sauron and retrieve the rings. This, too, doesn’t quite play out according to their plan. As Gil-galad declares the elves’ days in Middle-earth at an end, Círdan shows up with the three rings: two in his hand and one on his finger. As Elrond looks on with deep concern, both Galadriel and Gil-galad place the rings on their fingers, leading Middle-earth itself to respond with sunny skies and an intangible sense of peace that envelops the elves, as if confirming they did the right thing by wearing the rings. Well, most of the elves anyway. Elrond leaves with a disapproving look on his face, while Galadriel, Gil-galad, and Círdan create a triangle of bling. There might be more rings on the horizon: As Celebrimbor admires his new forge, a “messenger from the Southlands” arrives. Celebrimbor might not know it, but this does not bode well.
In the desert, the Stranger and Nori have become aware they’re being followed and set about constructing a booby trap and maybe killing their stalker. But wait, never mind — it’s Poppy! Nori’s thrilled to see her, having sorely missed her friend, and even the Stranger welcomes her arrival for a couple of reasons: (1) She brings food, and (2) she clues them in that, yes, they’ve been going in circles, but the words of a Harfoot “walking song” could point them in the right direction. They do, directing them to the land of Rhûn, a place about which we know little, both because not only has it not previously been depicted in TheRings of Power or Peter Jackson’s films, but it’s not a region Tolkien discussed in great detail. So who knows what awaits our trio within its borders?
What’s true of Rhûn applies to much of The Rings of Power, which takes place in the outlines of history Tolkien left pretty sketchy. The series has the sometimes unenviable task of filling in those sketches without losing the original vision. That makes this first episode back a kind of sketch within the sketch, offering broad strokes that outline the season to come. On that front, it’s pretty successful. The early bursts of action suggest a more kinetic season than the first, but the episode quickly falls into the previous season’s rhythms. That might be frustrating to some, and Rings hasn’t yet cracked how to create episodes that work as self-contained installments, but it’s still a pretty compelling season premiere. It’s unclear where these plotlines will go, and the rift between Elrond and seemingly every other elf lays the groundwork for moral ambiguity that still feels true to the world Tolkien created. And, as ever, the show looks great, and the cast keeps the action grounded in human emotion. Well, not human exactly. But you get the idea. Let’s press forward to Rhûn and beyond.
Mithril Links
• One of the biggest changes between seasons took place behind the scenes. If Middle-earth now looks a little less like New Zealand and a bit more like Great Britain (and the Canary Islands), that’s because production shifted to Tolkien’s home country.
• Just how little progress did Nori and the Stranger make before Poppy’s arrival? She can’t have walked very quickly. Look at those legs.
• Who are those figures following the Stranger and Nori? To be determined, but the symbol on their saddle looks eerily familiar. And what to make of the Stranger’s “only in dreams” memories of having been to Rhûn before?
• So where are all the other characters? We at least know for sure, based on the preview at the end of this episode, that the dwarves will be showing up soon.
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()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(3),auth=require(12),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(1),appendLandingPageParams=require(136),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 o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.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()&&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;
}, {"1":1,"3":3,"12":12,"124":124,"136":136}];
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(107),_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()})}}]);
}, {"107":107,"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","aaa-module-mounting.legacy":"aaa-module-mounting.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.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();
// ]]