"We are clear here that BP should be blamed for what has happened in the Gulf, and have real responsibilities to cap the well, to clean up the spill, to pay compensation," said Cameron.
But the prime minister called on the Obama administration to avoid taking destructive measures against BP, saying: "BP is an important company to both the British and the American economies. Thousands of jobs on both sides of the Atlantic depend on it. So it's in the interest of both our countries, as we agreed, that it remains a strong and stable company for the future."
As to BP's role in the release of the Lockerbie bomber, Cameron said the decision made by the Scottish government was "completely wrong," but refused to link BP to the case.
"That wasn't a decision taken by BP; it was a decision taken by the Scottish government. We have to accept that under the laws of my country, where power on certain issues is devolved to Scotland, this was a decision for the Scottish Executive, a decision that they took," he said.
The prime minister said he had asked for a review of government documents on the release of the Lockerbie bomber in order to see if more needs to be published, but said he does not want a British inquiry.
"We welcome any additional information that will give us insights and a better understanding of why the decision was made," said Obama, stressing that "the bottom line is, is that we all disagreed with it. It was a bad decision."
The Obama administration has asked the British government to review the decision to release Abdel Baset al-Megrahi, who served eight years of a life sentence for the 1988 bombing of a Pan Am Flight over Lockerbie, Scotland. The bombing left 270 people dead, most of them Americans.
BP has admitted lobbying the British government to sign a prisoner transfer agreement with Libya, which in fact paved the way for the oil giant to get profitable contracts from Libya.
"The role of BP and any lobbying they might have done is an issue for BP and an issue that they should explain themselves," said Cameron.