The bill, passed by a 281-146 vote, also prohibits the Obama administration from transferring any detainees being held at the Guantanamo Bay prison in Cuba to the U.S. until 45 days after the administration submits a comprehensive plan for closing the controversial prison.
The measure, which included a 3.4 percent pay increase for the military that was a half-percentage point more than Obama requested, now goes to the Senate.
While the bill challenges the administration on jet engines and Guantanamo prisoners, Obama and Defense Secretary Robert Gates prevailed in killing the jobs-rich but over-budget F-22 fighter program, which has its origins in the Cold War era and is poorly suited for anti-insurgent battles in Iraq and Afghanistan.
The bill contains unrelated legislation strengthening federal hate crimes laws. That infuriated many Republicans, who said the pro-military measure shouldn't carry social legislation.
Obama's veto threat involves a program to develop an alternative engine for the F-35 Joint Strike Fighter, the Air Force's multimission fighter for the future. The second engine would be built by General Electric Co. and Rolls-Royce in Ohio, Indiana and other states. The main F-35 engine is built in Connecticut by Pratt & Whitney.
The administration promised in June to veto the legislation if it would "seriously disrupt" the F-35 program, a vague threat at best. It says that spending on a second engine is unnecessary and impedes the progress of the Joint Strike Fighter program. The legislation recommends $560 million for the program in 2010.
On Thursday, the administration seemed to backpedal. Obama officials said the Pentagon is evaluating the bill before offering advice to Obama on whether to accept or reject it.
"As was made clear ... if the final bill calls for further investment in a second engine, the Defense Department will carefully evaluate the impact of that before making a recommendation to the president about whether or not to veto the legislation," said Kenneth Baer, a spokesman for the White House budget office.
The Pentagon says the Pratt & Whitney engine is performing well and that the second engine adds unnecessary costs and would delay the program. Supporters of the program say it provides competition that would boost contractors' performance and tamp down costs.
Lawmakers have parsed the Obama threat and decided not to take it seriously.
"I think if they ... were going to carry it out, they would have been more explicit," said Rep. John Spratt Jr., D-S.C., a senior member of the Armed Services Committee.
"It would be a shock to me" if Obama vetoed the measure, said the panel's top Republican, Howard "Buck" McKeon of California.
The legislation does, however, accede to Obama's call to terminate the VH-71 replacement helicopter program for the presidential fleet. The program is six years behind schedule and estimated costs have doubled to more than $13 billion.
The $680 billion measure doesn't actually fund the Pentagon's budget but provides policy guidance that is typically followed closely by the appropriations committees. It also approves Obama's $130 billion request to conduct the wars in Iraq and Afghanistan.
On Guantanamo, Republicans were on the losing end of a 216-208 vote aimed at blocking any transfer of detainees into the U.S. Thirty-four Democrats broke ranks to support the idea.
Republicans were irate that the so-called hate crimes legislation was attached to the bill. It would give people attacked because of their sexual orientation or gender federal protections and significantly expand the reach of hate crimes law.
The measure also woul make it easier for federal prosecutors to step in when state or local authorities are unable or unwilling to pursue hate crimes.
"I'm in a dilemma today," said Rep. John Carter, R-Texas, adding that enclosing the hate crimes legislation in a bill supporting the U.S. military would force people to vote against their beliefs.
"It is simply inappropriate to use a defense bill as a vehicle for divisive, liberal social policies wholly unrelated to our country's national security," said Rep. Mike Pence, R-Ind.
Both Carter and Pence voted against the bill.