He also signed a big increase in the Pentagon's non-war budget although the White House complained it contained "some unnecessary spending."
The president's action was announced on Air Force One as Mr. Bush flew to New Albany, Ind., on the Ohio River across from Louisville, Ky., for a speech criticizing the Democratic-led Congress on its budget priorities.
The White House said the $606 billion education and health was loaded with 2,000 earmarks -- lawmaker-sponsored projects that critics call pork-barrel spending -- which Mr. Bush wants stripped from the bill.
"Some of its wasteful projects include a prison museum, a sailing school taught aboard a catamaran and a Portuguese-as-a-second-language program," the president said. "Congress owes the taxpayers much better than this effort."
It was sixth bill vetoed by Mr. Bush. Congress has overridden his veto only once, on a politically popular water projects measure.
Mr. Bush hammered Democrats for what he called a tax-and-spend philosophy:
"The Congress now sitting in Washington holds this philosophy," Mr. Bush told an audience of business and community leaders. "The majority was elected on a pledge of fiscal responsibility, but so far it's acting like a teenager with a new credit card.
"This year alone, the leadership in Congress has proposed to spend $22 billion more than my budget provides," the president said. "Now, some of them claim that's not really much of a difference. The scary part is, they seem to mean it."
More than any other spending bill, the education and health measure defines the differences between Mr. Bush and majority Democrats. The House fell three votes short of winning a veto-proof margin as it sent the measure to the president.
Rep. David Obey, the Democratic chairman of the House Appropriations Committee, pounced immediately on Mr. Bush's veto.
"This is a bipartisan bill supported by over 50 Republicans," Obey said. "There has been virtually no criticism of its contents. It is clear the only reason the president vetoed this bill is pure politics."
House Speaker Nancy Pelosi said Mr. Bush "again vetoed a bipartisan and fiscally responsible bill that addresses the priorities of the American people: education for our children, assistance in paying skyrocketing energy costs, veterans' health care, and other urgent health research on cancer and other serious medical problems. At the same time, President Bush and his congressional allies demand hundreds of billions of dollars for the war in Iraq -- none of it paid for."
Since winning re-election, Mr. Bush has sought to cut the labor, health and education measure below the prior year level. But lawmakers have rejected the cuts. The budget that Mr. Bush presented in February sought almost $4 billion in cuts to this year's bill.
Democrats responded by adding $10 billion to Mr. Bush's request for the 2008 bill. Democrats say spending increases for domestic programs are small compared with Mr. Bush's pending war request totaling almost $200 billion.
The measure provides:
The $471 billion defense budget gives the Pentagon a 9 percent, $40 billion budget increase. The measure only funds core department operations, omitting Mr. Bush's $196 billion request for operations in Iraq and Afghanistan, except for an almost $12 billion infusion for new troop vehicles that are resistant to roadside bombs.
White House press secretary Dana Perino said that while the defense bill included some "unnecessary spending," the president signed it because "it is essential to deliver these funds to our military in a time of war." She said Congress consulted closely with the administration, CBS News White House correspondent Peter Maer reports.
In contrast, Perino said the $606 billion health and education measure vetoed by the president had 2,000 earmarks. The White House said the bill was nearly $10 billion over what the president wanted. Mr. Bush will challenge lawmakers to take out the pork and reduce the overall spending level.
Much of the increase in the defense bill is devoted to procuring new and expensive weapons systems, including $6.3 billion for the next-generation F-35 Joint Strike Fighter, $2.8 billion for the Navy's DD(X) destroyer and $3.1 billion for the new Virginia-class attack submarine.
Huge procurement costs are driving the Pentagon budget ever upward. Once war costs are added in, the total defense budget will be significantly higher than during the typical Cold War year, even after adjusting for inflation.