Newt Gingrich came under sustained fire in the last debate before the first votes are cast in the 2012 elections. But his main rival for the Republican nomination, Mitt Romney, kept out of the fight, leaving the attacks to the other candidates.

After several days of negative campaigning, Romney and Gingrich declared a mutual non-aggression pact, at least for the two-hour duration of the debate on Thursday night.

But Gingrich was still put on the defensive for much of the debate from the five other candidates in the race. The former speaker has been the focus of negative ads this week from Romney, with the Ron Paul and Rick Perry campaigns casting him as an impulsive and unreliable leader.

By Thursday night's debate, just 19 days before Iowans vote, there were suggestions that attacks on Gingrich's electability and record may be starting to stick.

Recent opinion polls, in Iowa and nationally, suggest the Gingrich surge seems to be tapering off, and the former speaker was forced to acknowledge Romney's most pungent criticism – that he was "zany".

"I've been standing here editing. I'm very concerned about not appearing to be zany," Gingrich said, in response to a question on the Keystone tar sands pipeline.

Then he criticised President Obama for what he called pandering to leftwing environmental extremists in San Francisco.

In their last big encounter before voting gets under way in the Iowa caucuses on 3 January, both Gingrich and Romney opted to play it safe.

Romney focused on appearing presidential, reserving his attacks for Obama, whom he accused of being soft on Iran for asking for the return of the crashed CIA drones.

"A foreign policy based on pretty please? You have got to be kidding," he said.

Gingrich compared himself to Ronald Reagan, in his campaign against Jimmy Carter in 1980, and referred repeatedly to his record.

But the other candidates did not hold back on the negative attacks. Michele Bachmann, the Republican member of Congress from Minnesota, repeatedly sparred with Gingrich. She also took on Paul for his position on Iran, which he called "another Iraq coming".

Rick Santorum, a former Republican senator from Pennsylvania who has tried to appeal to social conservatives, accused Romney of condoning gay marriage.

But in the trailing candidates' efforts to grab the spotlight, it was Gingrich who took the most hits, and largely from Bachmann.

In the first of several heated moments, she once again accused the former speaker of influence-peddling for receiving $1.6m in consulting fees from the mortgage lenders Freddie Mac and Fannie Mae. "It's a fact that we know. He cashed pay cheques from Freddie Mac. That is the best evidence you can have," she said.

Gingrich said the payments had no effect on his politics. "I have never once changed my positions because of any kind of payment," he said.

Bachmann also accused Gingrich of being soft on abortion when he was speaker. Gingrich pushed back: "Sometimes Congresswoman Bachmann doesn't get her facts very accurate." But Bachmann would not be put off. "I'm a serious candidate for president of the United States and my facts are accurate," she said.

Bachmann also took on Ron Paul for his position on Iran.

But while the debate may have slowed Gingrich's momentum, it also failed to give candidates such as Perry, Bachmann, Huntsman, and Santorum the opening they need to try to get into upper tier status.

Both Perry and Huntsman delivered memorable one-liners – though Huntsman's claim that "the people are getting screwed" may have backfired among socially conservative Republicans.

But then the former governor of Utah had never had any real hopes of doing well in Iowa, and was leaving straight for New Hampshire, where he concentrated his efforts. Santorum said he was hoping for the people of Iowa to set his flagging campaign on fire. But Perry and Bachmann have each signed on for an exhausting schedule of campaign events in the coming days to see if they can break out of the back of the pack.