The two campaigns clashed over the economy after the announcement by the US commerce department that the US economy shrank by 0.3 per cent in the last financial quarter - the worst such showing since 2001.
At a rally in Sarasota, Florida, Obama said the struggling US economy reflected the failed Republican policies of McCain and George Bush, the US president.
"If you want to know where John McCain will drive this economy, just look in the rear-view mirror," he said, using the same theme of a new advertisement launched by his campaign.
McCain jumped on the record quarterly profits posted by Exxon Mobil, noting Obama had supported tax breaks for the oil industry in a 2005 energy bill.
"Senator Obama voted for billions in corporate giveaways to the oil companies. I voted against it," McCain told supporters in Defiance, Ohio.
On Wednesday the Obama campaign spent four million dollars on a 30-minute national television advertisement in a bid to sway voters, focusing on the economy and healthcare.
The Illinois senator told ABC television on Thursday he ran the advertisement because "when the polls close on Tuesday, you don't want to say to yourself, 'here's something I didn't do, here's an argument I didn't make, here's a hand I didn't shake'."
However McCain dismissed the advertisement during a CNN interview on Wednesday as a "gauzy, feel-good commercial".
Al Jazeera's Rosiland Jordan in Ohio said McCain had returned to a populist message based on Ronald Reagan's message of low taxes that had proved successful in the 1980's.
But Jordan said questions remained over why McCain was targeting Ohio, which has 20 electoral college votes, so heavily when more college votes - 27 - were at stake in another battleground state - Florida.
"This may be a question of money - someting that the campaign does not want to discuss."
New polls have indicated Obama maintains a strong lead over his Republican rival in four previously Republican states and is tied in two others ahead of the vote on November 4.