The formal budget has an open-ended amendment process, so the so-called "vote-a-rama" can take a while.
The Senate convened at 9:00am on Friday, started voting at 4:00pm, and didn't pass a budget until about 5:00am, Saturday morning.
The bill barely passed on a vote of 50-to-49 and now goes to the House.
This year, few expect the House and Senate to reconcile two very different budgets, since the budget itself is non-binding.
The Senate budget calls for a trillion dollars in tax increases.
The House budget instead calls for trillions of dollars in government spending cuts with the goal of balancing the federal budget in 10 years.