The Democratic-led Senate passed the bill by voice vote, after voting 62 to 35 to end debate.
Senator Daniel Inouye, a Hawaii Democrat and chairman of the Senate Appropriations Committee, led the debate in support of the measure.
"Will the United States be better off in the next year and will the federal government be in a better position to help lead our country out of this deep recession if we pass this bill? The answer is obviously yes," said Senator Inouye.
But Republicans said the bill contained too much spending, much of it on projects to benefit lawmakers' home states, and they urged President Obama to veto it.
Senator John McCain, an Arizona Republican, lost his White House bid to Mr. Obama last year.
"Let's get down to business of saving taxpayers' dollars rather than the profligate spending spree that we have been on for so long, which has mortgaged our children's futures and committed generational theft," said Senator McCain.
The Senate action came after the Treasury Secretary Tim Geithner assured Democratic Senators Bill Nelson of Florida and Robert Menendez of New Jersey that language in the bill to ease limits on trade and travel with Cuba did not amount to a reversal of a decades-old embargo against the communist-led nation. Senators Nelson and Menendez represent states with large vocal Cuban-American constituencies.
Senator Nelson accepted Geithner's assurances somewhat reluctantly:
"The better course is that we should allow our new president to undertake his own review of U.S. policy towards Cuba before pushing hasty and ill-advised language through an omnibus bill," said Senator Nelson.
The spending bill completes last year's budget process, which stalled as Democrats clashed with former President George Bush over spending priorities.
Now that that measure has been approved, a more difficult battle awaits Mr. Obama and Congress - passage of his budget for next year. Democrats and Republicans have already begun sparring over such policy issues as health care reform and efforts to control climate change.