"I'm not going to telegraph my punches, which is what Sen. Obama did," said McCain, adding that follows the lead of his hero Teddy Roosevelt, who believed the United States should "talk softly but carry a big stick."
In that heated exchange, Obama accused McCain of hypocrisy.
"This is a guy who sang 'Bomb, bomb, bomb Iran,' who called for the annihilation of North Korea -- that I don't think is an example of speaking softly."
McCain said Obama "was wrong about Iraq and the surge. He was wrong about Russia when they committed aggression against Georgia. And in his short career he does not understand our national security challenges. We don't have time for on the job training."
Both men conceded that the nation's energy policy needed to be changed, but disagreed on how best to end American reliance on foreign oil.
"I've disagreed strongly with the Bush administration on this issue. I've traveled all over the world to look at greenhouse gas emissions," said McCain. "What's the best way of fixing it? Nuclear power. I was on Navy ships that had nuclear power plants. Nuclear power is safe and clean. I know that we can reprocess the spent nuclear fuel. The Japanese, British and French do it. Obama opposes that."
Obama said McCain had voted 23 out of 26 times against alternative fuel bills presented to the Congress and said he supported nuclear power, in addition to solar, wind and thermal energy.
"This is one of the biggest challenges of our time, and it's absolutely critical we understand it's not a challenge, it's an opportunity," he said. "I've called for investments in solar, wind, thermal. I favor nuclear power as one component of our energy mix, but I think this is another example where we have to look at the record."
Any common ground they found on energy was lost in their divergent plan on health care. McCain called health care a "responsibility" while Obama called it a "right."
McCain wants to give families a $5,000 tax break that would allow them to look for affordable health care that best met their needs.
Obama, on the other hand, wants to continue with the current system, in which employees receive coverage through their jobs, but augment it with government funding to help the uninsured.
"If you've got health care already, and probably the majority of you do, then you can keep your plan if you're satisfied with it. We're going to work with your employer to lower the cost of your premiums by as much as $2,500 a year. If you don't have health insurance, you're going to be able to buy the same kind of insurance McCain and I enjoy as federal employees," Obama said.
Obama said McCain's plan would require taxes on the benefits workers receive from their employers and wipe out the ability of states to enforce regulations requiring certain tests like mammograms.
McCain said that Obama's plan would penalize small-business owners and parents.
If you're a small-business person and you don't insure your employees, he'll fine you," McCain said of Obama. "If you're a parent and you're struggling to get health care for your children, he'll fine you."
Down in the polls, McCain and his running mate, Sarah Palin, went on the offensive this weekend, aggressively attacking Obama for his association to 1960s radical William Ayers, a move some see as part of a last-ditch attempt to revive a flagging campaign.