"That is not putting the men and women of our military first," he said.
McCain stressed his own record of opposing Republicans on key issues, and said, "When it comes time to reach across the aisle and work with members of both parties to get things done for the American people - my opponent can't name a single occasion in which he fought against his party's leadership to get something done for the country. That is not putting the interests of the country first."
Obama's campaign issued a swift rebuttal that accused McCain of an "angry diatribe" that it said "won't make up for his erratic response to the greatest financial crisis of our time."
The Arizona senator spoke at a joint rally with running mate Sarah Palin, who said she is looking forward to this Thursday's debate with Sen. Joe Biden of Delaware.
"I've been hearing his speeches since I was in the second grade," the 44-year-old Alaska governor said of her counterpart, who is 65 and a veteran of more than 35 years in the Senate.
The speech was McCain's first outside Washington since he announced abruptly last week he was suspending his campaign to concentrate on helping Congress agree on a bailout for the troubled financial industry. He drew heated criticism from Democrats who accused him of nearly derailing negotiations that were headed for success, and even some Republicans conceded privately he appeared impetuous and had not helped his own cause.
Recent polls also suggest Obama has regained a lead he held in the race before the Republican National Convention, where McCain's choice of Palin energized conservatives and led to a short-term surge in his poll ratings.
In a statement, the Obama campaign said McCain was untruthful in describing Obama's record on taxes, "and the lie he told the American people today is all the more outrageous a day after he admitted that his health care plan will increase taxes on some families."
The votes in question occurred on a Democratic budget outline that set tax and spending outlines for the future, but did not actually raise taxes.
Obama has said he voted against one war funding measure only because it contained no timetable for withdrawal of U.S. forces from Iraq and compared that to McCain's vote against a war funding measure that did contain a timetable for withdrawal.
In a speech of less than 30 minutes, McCain challenged Obama's truthfulness and his support for the armed forces as well.
"Two times, on March 14, 2008 and June 4, 2008, in the Democratic budget resolution, he voted to raise taxes on people making just $42,000 per year. He even said at the time that this vote for higher taxes on the middle class was 'getting our nation's priorities back on track,'" the Republican said.
"Then something amazing happened: on Friday night, he looked the American people in the eye and said it never happened. My friends, we need a president who will always tell the American people the truth."
McCain sought to turn the tables on his rival. "Senator Obama took a very different approach to the crisis our country faced. At first he didn't want to get involved. Then he was "monitoring the situation." That's not leadership, that's watching from the sidelines," he said.
In the early days of the economic crisis, McCain seemed uncertain how to react. His first response was to say the fundamentals of the economy were strong. Then he backtracked, saying the workers form the foundation of the economy and they are strong. Then he called for a blue-ribbon commission to study the root causes of the debacle on Wall Street. Then he called for the ouster of Securities and Exchange Commission Chairman Christopher Cox, with each shift drawing ridicule from Obama.
Like Obama, McCain has not yet announced how he intends to vote on the measure.
But aides said he intends to return to the Senate for the roll call later in the week, and he signaled on Sunday he would likely vote in favor of the measure, which gives the Treasury authority to spend up to $700 billion to purchase distressed assets on the books of financial institutions.
Several Republicans said House GOP leaders had asked McCain to make phone calls to wavering rank-and-file lawmakers to try and persuade them to support the bill. Campaign aides did not immediately say whether any of the calls had been made. The fate of the package remained in doubt Monday as the House rejected the bill with more than two-thirds of Republicans voting against it.
McCain broadened his attack on Obama to include spending.
The Democrat "has proposed more than $860 billion in new spending," McCain said. "He was asked in our debate Friday to name a single program he would consider cutting to help our country through this crisis, and he struggled to name a single program!"
In the debate, McCain suggested a partial freeze on government spending, excluding defense, veterans and other programs he did not identify. In reply, Obama said the problem with a freeze is that it short-changes programs which deserve an increase. He mentioned early childhood education as an example.