Mr Obama said he would meet company executives later and tell them that they must set up a fund to compensate those affected by the spill.
He described the spill as an assault on the shores and citizens of the US that tested the limits of human technology.
And he said it demonstrated the need to end the US "addiction" to fossil fuels.
Hours after the government sharply increased its estimate of how much oil was flowing into the Gulf from the broken well, Mr Obama warned that the risks of another such incident would continue to rise because "we're running out of places to drill on land and in shallow water".
He called on the Senate to pass an energy bill that has already cleared the House of Representatives.
Presidents use the Oval Office for what they regard as vital national issues.
The speech comes as opinion polls suggest a majority of Americans disapprove of how Mr Obama has handled the crisis - the worst environmental disaster in US history.
Click here to read the article in full.