Two hours before Thursday night's Fox News debate, I was in constant conversations with GOP operatives, Fox anchors and other journalists, all asking the same question: Would Donald Trump show up after all?

He didn’t, of course, but that shows how crazy the environment has been in Des Moines.

Megyn Kelly, the target of Trump’s ire, kicked off the debate by asking Ted Cruz about The Donald’s absence. Cruz used some canned humor, describing himself as a maniac, saying everyone else on the stage was stupid and ugly and that Ben Carson was a bad surgeon—and “now that we’ve gotten the Donald Trump portion out of the way.”

Marco Rubio also took a swipe, saying the election was not about Trump, even though he’s “the greatest show on earth.”

Jeb Bush said “everyone else was in the witness protection program when I went after Donald Trump.”

Trump was across town at a veterans’ event, but his spirit hung over the debate hall.

The latest headlines on the 2016 elections from the biggest name in politics. See Latest Coverage →

To add to the surreal atmosphere, Fox put out a statement about Trump's claims in the opening minutes of the debate. More on that later.

By far the most confrontational moment came when Kelly played Rubio a series of videos of past comments on immigration and asked whether he had changed his position. Rubio’s voice grew louder as he said there was no way to deport 12 million illegal immigrants but that first the country needed border enforcement.

Bush backed Rubio’s previous attempt at an immigration compromise, but then accused the senator of having cut and run.

Then Cruz got the video treatment as Fox aired a series of seemingly conflicting statements on immigration.

“Was that all an act? It was pretty convincing,” Kelly said.

Cruz insisted he was only trying to fix problems with the 2013 Gang of Eight bill. Moments later he said Rubio chose to stand with Barack Obama, Harry Reid and Chuck Schumer.

“This is the lie that Ted’s campaign has [been] built on,” Rubio shot back before Chris Christie threw a jab at both men by saying a governor doesn’t engage in parliamentary doubletalk: “Stop the Washington bull.”

Earlier, Cruz strongly defended himself after a question about whether “carpet bombing” ISIS was unrealistic, saying the United States has done it before. Rubio countered with a passionate denunciation of ISIS and chided Cruz for supposedly being unwilling to vote for adequate defense spending.

Chris Wallace drew boos with a question to Bush about criticizing his brother’s invasion of Iraq. Cruz complained that the previous four questions had been invitations for other candidates to attack him. “It is a debate, sir,” Wallace said in response.

It was a substantive debate that ranged from terrorism and immigration and ObamaCare to home-state liabilities and scandals. Cruz and Rubio were, as usual, the best debaters on the stage, but spent their time counterpunching. Christie had his moments, and Bush was more forceful than in any previous faceoff—where has this guy been?

Except for the moderators prodding them into heated exchanges on immigration, the candidates mostly refrained from attacking each other. This may have reflected Trump’s absence, but also perhaps a sense that personal assaults could be counterproductive among Iowa voters just days before the caucuses.

Cruz seemed stronger when he and Trump used each other as foils. He didn’t find an antagonist on the stage to bring out his college debating skills.

I’m tempted to say Cruz was the winner by default, since he is neck and neck with Trump in the Iowa polls and wasn’t left bloodied by the debate, as his team feared he might be. But it was an off night for him. Rubio did slightly better, but he too was bruised by the intense back-and-forth on immigration. Christie seemed to overreach when he said as a former prosecutor he could put Hillary Clinton in jail. Perhaps there were no winners.

Or maybe the winner was Trump, by creating an alternative narrative.

Speaking of the Trump melodrama, in the minutes before the debate began, CNN aired an interview that Brianna Keilar conducted on the flight to Des Moines—and it was all about Fox.

In the course of defending his decision not to debate, Trump said a top person at Fox had just called him to apologize and “couldn’t have been nicer,” but “it was too late” for him to change his mind. He also said this wasn’t about Megyn Kelly, although he criticized her again to Keilar.

Fox took the unusual step of putting out a statement during its own debate, saying CEO Roger Ailes “had three brief conversations” with Trump on Thursday.

“We acknowledged his concerns about a satirical observation we made in order to quell the attacks on Megyn Kelly, and prevent her from being smeared any further,” the statement said.

“Furthermore, Trump offered to appear at the debate upon the condition that FOX News contribute $5 million to his charities. We explained that was not possible and we could not engage in a quid pro quo, nor could any money change hands for any reason. In the last 48 hours, we've kept two issues at the forefront — we would never compromise our journalistic standards and we would always stand by our journalist, Megyn Kelly. We have accomplished those two goals and we are pleased with the outcome.”

We got a glimpse here in Iowa of what the campaign would look like had Donald Trump stayed on the sidelines. But it was a brief glimpse, and it looks like no candidate on the stage improved his standing against the front-runner.

Howard Kurtz is a Fox News analyst and the host of "MediaBuzz" (Sundays 11 a.m. and 5 p.m. ET). He is the author of five books and is based in Washington. Follow him at @HowardKurtz. Click here for more information on Howard Kurtz.