The president informed the leaders of both countries of the news in phone calls Thursday night, offering his "deep regret" and pledging to reschedule soon, White House press secretary Robert Gibbs announced in a statement just after midnight. Obama was to depart on a weeklong trip to both countries, along with a quick stop in Guam, on June 13.
Asked the reason for the delay, Gibbs told The Associated Press that Obama was staying home "to deal with important issues, one of which is the oil spill."
Obama had a sensitive political decision to make: Risk putting off two allies in a strategic part of the world once again or endure all the downsides, including an inevitable level of backlash, for being on the other side of the world during a huge crisis at home.
The domestic agenda proved dominant.
Already, his administration faces scrutiny for its leadership in trying to end the oil spill in the Gulf even as the White House insists it has been forceful from the start. What began with an exploding oil rig on April 20 has turned into an environmental disaster.
Obama had planned this Asia trip in March -- first shortening it to be in Washington and lobby for health care legislation and then scrapping it altogether to stay for the final crucial days of debate on that top domestic priority.
Congress ultimately passed the health care law after a huge investment from Obama.
Gibbs said Obama planned to meet with both leaders separately on the sidelines of the G-20 meeting, which is to be held near the end of June in Canada.
The announcement came as Defense Secretary Robert Gates was meeting with Indonesian defense officials at a security conference in Singapore. Gates spokesman Geoff Morrell said the postponement did not come up in the meeting.
As the trip drew closer and attempts by the BP oil company to plug the gushing oil well proved futile, speculation grew that Obama would be forced to delay the visit for a second time.