The Senate voted 56-40 on Saturday for the long-term funding bill, the main item left on Congress' year-end agenda. The measure provides money for nearly the entire government through the Sept. 30 end of the current budget year.
The sole exception is the Department of Homeland Security, which is funded only until Feb. 27. Republicans intend to try then to force the president to roll back a new immigration policy that removes the threat of deportation from millions of immigrants living in the country illegally.
The compromise bill had faced opposition from Democratic liberals upset about the repeal of a banking regulation and Republican conservatives unhappy that it failed to challenge Obama's immigration moves.