The Prime Minister said he made policies because they were “right for our country”, not to suit newspaper owners.
The Sun, owned by News International, switched its allegiance from Labour to the Conservatives in September 2009.
Cameron said it was “not true” that there had been a deal to help the Murdoch’s business interests or to help push through the BSkyB takeover in exchange for support for the Conservatives.
Cameron said: “It would be absolutely wrong for there to be any sort of deal and there wasn’t… There was no grand deal.”
Cameron vowed to make the same statement under oath at the Leveson inquiry.
He also said he didn’t believe Culture Secretary Jeremy Hunt had broken rules over contact with News Corp when it was bidding to take over BSkyB.
Labour MPs have asked Cameron to explain in the Commons today why he is referring Jeremy Hunt to the Levenson Inquiry and blocking an immediate inquiry into any breaches of the ministerial code.
A Labour source said: “Cameron is trying to hide behind the Leveson inquiry. With parliament breaking up on Tuesday, Cameron must come to the Commons and explain to the British people why he is ducking his responsibilities to enforce the ministerial code.”
The Prime Minister said he’d “wanted the support” of as many media bosses as possible when he was the leader of the opposition, so he’d be able to “take the country in a different direction”.
He said he’d disagreed with Rupert Murdoch on some issues, including the detention of terror suspects and a license-fee funded BBC.
He added: “The positions I reach are because I believe them, I think they’re right for our country. That’s the platform I stand on. I do not do things, change my policies to suit this proprietor or that proprietor.”
But Cameron admitted discussing BSkyB with James Murdoch at a Christmas dinner in 2010 at the Oxfordshire home of Rebekah Brooks.