Donald Trump vs. Ted Cruz — the longest-brewing confrontation in the Republican presidential primary — finally spilled out onto a South Carolina stage on Thursday. The two leading contenders for the Republican nod pulled no punches in attacking each other, and Trump demonstrated why he’s the field’s Teflon Don, effectively reversing salvos aimed at him to damage his opponents instead.

But there was a key difference on Thursday night. Trump in earlier debates has turned in relatively flat performances that he later corrected by introducing incendiary new provocations from the campaign trail. In his sixth outing, however, the billionaire developer proved his growth as a pol by commanding centerstage.

Trump first struck Cruz on Thursday by challenging his eligibility for office based on the fact that the Texas Senator was born in Canada. Despite a nonaggression pact that had abided between the two antiestablishment candidates, Trump in recent weeks has stoked questions about whether Cruz could withstand a legal challenge. “There’s a big question mark hanging over his head,” Trump said, drawing some boos from the audience at the North Charleston Coliseum. Cruz, himself a master debater since his college years, had a ready argument for his status as a natural-born citizen. And he pointed to his own distinguished legal career, adding, “I’m not going to take legal advice from Donald Trump.”

That round may have been a draw. But later, when Cruz repeated onstage a criticism he’d earlier launched at Trump as a figure with “New York values,” Trump delivered a withering comeback. Drawn out by Fox Business News anchor Maria Bartiromo, Cruz explained that New York City values are “socially liberal, are pro-abortion, are pro-gay-marriage, focused around money and the media.” Trump called the characterization an insult and immediately pivoted to the September 11 attacks.

“When the World Trade Center came down, I saw something that no place on earth could have handled more beautifully, more humanely than New York,” Trump said, to applause from the crowd (and from Cruz, realizing what he’d walked into). “You had two 110-story buildings come crashing down. I saw them come down. Thousands of people killed. And the cleanup started the next day, and it was the most horrific cleanup probably in the history of doing this and in construction. I was down there. And I’d never seen anything like it. And the people in New York fought and fought and fought.”

Cruz, looking suddenly wan, was uncharacteristically speechless. Indeed it was a little disorienting to see a candidate who’s mostly performed in previous debates as some combination of loudmouth bully and class clown to summon such moral authority. But there it was. The pair are locked in a virtual dead heat in Iowa, where voters will caucus in a mere 18 days. The race then heads to New Hampshire, a state Trump leads by double-digits.

The others on stage — former Florida Gov. Jeb Bush, Florida Sen. Marco Rubio, Ohio Gov. John Kasich, New Jersey Gov. Chris Christie and retired neurosurgeon Ben Carson — appeared to have to scrap for airtime. With the exception of a fading Carson, those candidates are competing to carry the establishment banner.

Rubio, who’s first among them, adopted a notably sharper tone throughout — a bid to reflect the anger fueling the Trump and Cruz campaigns. While he directed most of it toward President Obama, he also denounced Christie as having compiled too liberal a record and Cruz as an opportunistic flip-flopper. Meanwhile Bush, who landed some blows on Trump in their last encounter, once again lashed out at the real-estate mogul, calling him “unhinged” for proposing a ban on Muslim travel the U.S. and blasting his call for tariffs on Chinese imports. (Trump responded with a familiar criticism, dismissing Bush “weak.”)

Bush said he’d try to bring more pressure on Apple CEO Tim Cook and other tech executives to cooperate with counterterrorism efforts by sharing data. “We ought to give them a little bit of a liability release so that they share data amongst themselves and share data with the federal government; they’re not fearful of a lawsuit,” he said.

But Trump, perhaps for the first time since the first debate, proved the biggest presence on the stage. On Tuesday, South Carolina Gov. Nikki Haley spent part of the official Republican response to the State of the Union address rebuking the tenor of Trump’s campaign. Asked to respond on Thursday, Trump noted that he considers Haley, who was on hand in the audience, to be a friend. But he wouldn’t duck her characterization and instead owned it: “I’m very angry because our country is being run horribly, and I will gladly accept the mantle of anger,” he said. “Our military is a disaster. Our healthcare is a horror show. Obamacare, we’re going to repeal and replace it. We have no borders. Our vets are being treated horribly. Illegal immigration is beyond belief. Our country is being run by incompetent people. And yes, I am angry.”