McCain saw the weekend as a final opportunity to persuade voters to prove the polls and pundits wrong and sweep him into office.
"We're a few points down but we're coming back," he told supporters in Virginia.
Obama campaigned Saturday in Nevada, Colorado and Missouri, all states that voted for President Bush four years ago, while McCain struggled to keep Virginia from voting for a Democratic presidential candidate for the first time since 1964.
McCain also made a quick sidetrip to New York City and an appearance on NBC's "Saturday Night Live" where he joked about his campaign and his latest plan to win over voters.
"I thought I might try a strategy called the reverse maverick.
That's where I'd do whatever anybody tells me," McCain said. If that failed, he quipped, "I'd go to the double maverick. I'd just go totally berserk and freak everybody out."
Both men appealed to supporters to turn out on Election Day, saying the stakes could scarcely be higher.
"If you give me your vote on Tuesday, we won't just win this election - together, we will change this country and change the world," Obama said in a nationwide Democratic radio address.
Vice President Dick Cheney endorsed McCain, saying Americans "cannot afford the high tax liberalism of Barack Obama and Joe Biden."
Obama, campaigning in Colorado, pounced on the remark, saying McCain had earned the endorsement through supporting the Bush administration's failed social and economic policies.
Early Sunday, Obama's campaign released a new 30-second television spot highlighting the unpopular vice president's endorsement of McCain and his running mate, Alaska Gov. Sarah Palin.
An announcer says McCain earned Cheney's support by voting with the White House 90 percent of the time. "That's not the change we need," the announcer says.
An Associated Press-Yahoo News national poll of likely voters showed Obama ahead, 51 to 43, with a margin of error of plus or minus 3 percentage points. McCain's campaign says its internal polling shows the gap closing.
On the Net: