Urging deeply divided voters to re-elect him, Bush defended the wars he waged in Iraq and Afghanistan after the 11 September 2001 air attacks.
"We have fought the terrorists across the earth - not for pride, not for power, but because the lives of our citizens are at stake," Bush said in a prime-time speech to the convention.
"Our strategy is succeeding," he said.
Bush warned his opponent would raise taxes and prove a weak, fickle leader in the global "war on terror".
Quoting Kerry's scepticism about the US-led war against Iraq, Bush said nations that backed the March 2003 invasion to oust Saddam Hussein were "allies that deserve the respect of all Americans, not the scorn of a politician."
Bush hoped the speech, capping three days of relentless attacks on Kerry but with few fresh policy proposals, would soothe worries about US job losses and chaos in Iraq and give him an edge over his rival in their neck-and-neck race.
But Democratic presidential contender John Kerry launched a furious riposte to the attacks by Bush and Vice President Dick Cheney, saying they had "refused" to serve in the Vietnam war.
"I'm not going to have my commitment to defend this country questioned by those who refused to serve when they could have and by those who have misled the nation into Iraq," Kerry said.
The Democrat challenger queries
his opponents' military records
The Democratic contender was decorated for bravery in the Vietnam war while Bush was in the Air National Guard in the US and Cheney had a series of draft deferments that kept him out of military service.
"We all saw the anger and distortion of the Republican convention. For the past week, they attacked my patriotism and my fitness to serve as commander-in-chief," said Kerry.
"For three days in New York, instead of talking about jobs and the economy, we heard anger and insults from the Republicans.
"And I'll tell you why. Its because they cant talk about the real issues facing Americans. They can't talk about their record, because it's a record of failure."