Friday's vote was 54-44.
But it remains unclear whether the Senate and the Republican-run House will be able to complete a compromise bill in time to get it to President Barack Obama for his signature before the government has to close.
That is because House GOP leaders are still struggling to figure out how they can win enough votes from conservatives to push a new version of the legislation through their chamber.
Conservatives have been trying to use the must-pass bill as a way to kill or weaken 2010 Obama's health care law.
Before the Senate approved the overall bill, it voted to remove House-passed language that would have blocked money for Obamacare.