Sen. Marco Rubio finally went after Donald Trump hard in a debate. He attacked relentlessly and landed some solid punches — particularly by exposing the fact that Trump really doesn’t have a plan to replace Obamacare. (Of course, Rubio doesn’t have a health care plan either.) Rubio also slammed Trump for comparing Middle East peace to a real estate deal. Rubio had Trump against the ropes for most of the night and clearly got under his skin.

As soon as Ted Cruz smelled blood, he also turned his attacks on Trump. He was especially effective raising questions about the audit of Trump’s tax returns and the fraud charges surrounding Trump University. If Trump wins the GOP nomination, expect Democrats to use both issues quite effectively against him in the general election.

The interesting thing about Rubio and Cruz attacking Trump is that it wasn’t as much about convincing Trump voters to switch allegiance as it was about being seen the Trump alternative. Rubio clearly won that argument. He was much more effective than Cruz.

But for someone who was attacked literally from both sides for more than two hours, Trump actually did fairly well. After months of practice, Trump is much better at these debates. I’m not sure he would have held up to these attacks a few months ago. But neither Rubio or Cruz came close to landing a knockout punch. They drew blood, but Trump was still standing.

Trump is not good when talking about actual issues but he’s great when talking about winning. He repeatedly referred to his huge lead in the polls and his big victories in New Hampshire, South Carolina and Nevada. It’s effective for two reasons: 1. It suggests the attacks by Rubio and Cruz are from desperate candidates and 2. the media loves to cover the horserace.

John Kasich was a non-factor in the debate. But after Rubio established himself as the leading Trump-alternative, expect the calls for him to leave the race to get louder. The longer he stays in the race, the more he helps Trump. He’s now playing the role of spoiler.

Ben Carson talked about fruit salad.

The runaway winner of this debate was the Democratic party. If there are many more nights like this one, the Democratic nominee will have a much easier time in November. It was a truly pathetic mess.