McCain cast Obama, a first-term Illinois senator, as lacking the experience and discretion to be a wartime commander in chief, and he argued the Democrat's calls for a troop withdrawal from Iraq would imperil the United States.
The Arizona senator mocked Obama's promise of change for a country weary of the status quo, uttering the word "change" no fewer than 33 times.
"He is an impressive man who makes a great first impression," McCain said. "But he hasn't been willing to make the tough calls, to challenge his party, to risk criticism from his supporters, to bring real change to Washington. I have."
In a speech intended to mark the start of the general election, the Republican defended himself against Obama's frequent claim that McCain is "running for President Bush's third term" because McCain supports the Iraq war and wants to extend the president's tax cuts.
Voters don't buy it, McCain said.
"The American people didn't get to know me yesterday, as they are just getting to know Senator Obama," McCain said. "They know I have a long record of bipartisan problem-solving. They've seen me put our country before any president, before any party, before any special interest, before my own interest."
McCain sought to distance himself from Bush by delivering the speech in New Orleans, a city whose ravages from Hurricane Katrina became a glaring symbol of Bush administration incompetence. McCain campaigned here six weeks ago, vowing that such a disaster would never again be handled in such a disgraceful way.
He contrasted his views on global warming and energy independence with those of Bush, and he criticized Obama for voting for Bush's energy bill, which he said gave more breaks to the oil industry.
"I opposed it because I know we won't achieve energy independence by repeating the mistakes of the last half-century. That's not change we can believe in," McCain said, once again evoking Obama's campaign theme, "Change we can believe in."
In a play on the slogan, McCain spoke in front of a campaign banner that read, "A leader we can believe in."
Obama, declaring victory in Tuesday's primaries, fired back: "There are many words to describe John McCain's attempt to pass off his embrace of George Bush's policies as bipartisan and new. But change is not one of them."
McCain wrapped up the GOP nomination in March and since then has laid the groundwork for the general election campaign while Obama and Hillary Rodham Clinton kept up their lengthy primary fight. On Tuesday, with Obama finally assured of the Democratic Party nod, McCain made his speech during prime time to try to steal some of Obama's thunder.
McCain shared the stage with Louisiana Gov. Bobby Jindal, who is frequently mentioned as a potential running mate. Jindal and several others spent the Memorial Day holiday at McCain's compound in Sedona, Ariz.
"A lot of people have been speculating about that," Jindal said as he warmed up a crowd of about 600 people. "I can tell you the secret now: John is a great cook."
Several hundred more missed McCain's speech while they waited outside the Pontchartrain Center, which was filled to capacity. McCain later spoke to them for a few minutes and lingered to shake their hands.
In the speech, McCain laid out his core argument, that he has a record of working for reform and offers the kind of change that the country needs, while Obama makes empty promises of a new direction and offers the wrong kind of change.
"No matter who wins this election, the direction of this country is going to change dramatically," McCain said. "But the choice is between the right change and the wrong change; between going forward and going backward."
The Navy veteran and former Vietnam prisoner of war noted that Obama opposed the troop-increase strategy that has been credited with helping to curb violence, and he pointedly accused Obama of withholding money from troops.
"Senator Obama opposed the new strategy, and, after promising not to, voted to deny funds to the soldiers who have done a brilliant and brave job of carrying it out," McCain said.
A year ago, Obama voted against a funding bill for the Iraq war because it lacked a timetable for withdrawing troops. At the time, Obama said the bill would give Bush "a blank check to continue down this same, disastrous path."
Obama had previously opposed a deadline for troop withdrawal but shifted under pressure from liberal Democrats to seek a withdrawal of combat troops by the end of 2009. In contrast, McCain is an ardent supporter of the war and opposes a quick pullout.
Obama has also said he'd be willing to meet without preconditions with leaders of countries such as Cuba and North Korea.
In many ways, the fall campaign has already begun. The Democratic National Committee has been in general election mode for months, airing national ads against McCain, shadowing his campaign events and conducting a rapid-response program.