The House has backed a $601 billion defense authorization bill that spares planes, ships and military bases in an election-year nod to hometown interests.
The vote on Thursday was 325-98. The White House has threatened a veto in an escalating budget dispute with Congress.
The measure still must be reconciled with a still-to-be written Senate version.
The Pentagon had proposed retiring the Cold War-era U-2 spy plane and the A-10 Warthog close-air support aircraft as well as shuttering unnecessary military bases. The Defense Department faces a reduction in projected spending after more than a decade of war and deficit-driven budget cuts.