Tonight’s Republican presidential debate in Las Vegas was anything but dull. From the get-go, it was a free-for-all, with Herman Cain the principal target of his competitors. Mitt Romney took some blows on Romneycare but had an otherwise strong outing, showing his ability to control the stage and rebuff his opponents. Rick Perry was certainly perkier than he had been in previous debates and got in a good answer on Israel and the U.N. But he lost three significant rounds with opponents and likely won’t help himself much. Rick Santorum landed a number of blows, but still has a ways to go in his search for a tone that is forceful but not angry.

The debate started off badly for Cain, as each candidate took swings at his 9-9-9 plan. Rather than rebut their specific arguments, he insisted over and over again that people should read his plan. At the end of that interlude, most viewers, I suspect, would agree that his idea of a new sales tax is a bad one and that his plan indeed shifts the tax burden to the middle class and poor. Once Cain’s credibility is shot on the plan that is virtually his entire message, it is unclear how he can sustain his appeal. On Guantanamo, he was badly dinged. In a pre-date interview he had told a CNN interviewer that he could see exchanging Gitmo terrorists for an American. In the debate he squirmed and tried to deny the remark. Both Santorum and Michele Bachmann zeroed in on him. He looked uncertain and unsteady.

Romney had his troubles during the health-care portion of the debate. Santorum went after him, saying Romney would not repeal Obamacare. But Santorum did himself no favor by interrupting Romney and then calling time on him. Romney managed to retain his composure. He managed to score a point off Newt Gingrich by getting him to acknowledge that he had also supported an individual mandate. Then, surprisingly, Bachmann threw him a lifeline, insisting that everyone on the stage would favor repeal of Obamacare. (Some analysts think she is angling for VP at this point. More likely she understands that her candidacy depends on beating the other social conservatives in Iowa.)

During the rest of the debate Romney was largely in command. Perry attacked him for “hiring illegal aliens,” a reference to a lawn service company he hired some year ago in Boston that employed undocumented workers. Romney forced Perry to stop interrupting him, putting his hand on Perry’s shoulder at one point and turning the tables on him for supporting tuition breaks for illegal immigrants (one of the “magnets” Romney called it, for illegal immigrants to come over the border) and for opposing the employer e-verify system. In that moment, he made Perry seem petty and immature.

After that, Romney showed his normal fluency on the economy and steered a question on Occupy Wall Street back to an argument for his own candidacy and an indictment of Obama’s failed stewardship of the economy. It was his toughest debate yet, but whatever setbacks he suffered were outweighed by Cain’s and Perry’s troubles.

Perry, in addition to his knockout on illegal immigration, took two more significant blows. First, Santorum caught him dead-in-the-water for supporting TARP in a letter Perry sent to Congress pleading for action on the economy. That day was the TARP vote. Perry was snared in a misstatement. His spokesman Mark Miner tweeted that there were “other options” on the table that Perry supported. In fact, there were not.

And then was the sequence over religion. Romney made an eloquent plea, explaining that where Pastor Robert Jeffress went wrong was in suggesting that only candidates of a certain religion should be elected. Perry, as he has done before, refused to repudiate the pastor. He would only “disagree” with him. Perry looked small and unpresidential.

If not for those substantial gaffes, Perry would have had his best outing. He was more lively and had fewer breakdowns in his syntax. Perhaps he will arrest his slide, but he likely didn’t make up much ground tonight.

Bachmann had her second consecutive strong performance. She went after Cain on 9-9-9. She made a pitch directly for “women” on a question about what the government should do about the housing crisis. And she gave strong answers on Iran and support for Israel.

Gingrich also put in a solid showing again, doing his share of damage to Cain and making Romney squirm a bit on health care. Gingrich again attacked the supercommittee and excoriated the notion that we should accept either tax hikes or massive defense cuts. Might he also be able to move up a notch in Iowa? Very possible.

The clear winner in the contest may have been moderator Anderson Cooper, who avoided dumb questions and kept the debate lively but under control (barely). His questions were actual questions, not discourses on the topics. As a result, the debate moved briskly.

This was a debate to test Cain’s mettle. He didn’t collapse entirely, but his supporters can hardly be pleased with the roughing up he took. Bachmann, Santorum and Gingrich likely helped themselves. Perry continues to be his own worst enemy, alternatingly too nasty and too cavalier with the facts. Meanwhile, Romney should come away satisfied. His greatest fear is that a single not-Romney figure should emerge. None has. And he therefore remains in a comfortable position heading into the final debates and the early state contests.