But portions of the proposal had to be removed in order for it to pass the Senate without Democrats, meaning the Legislature will have to take more action later to balance the budget.
Walker had repeatedly argued that ending collective bargaining would give local governments the flexibility they needed to confront the state aid cuts necessary to fix Wisconsin's deficit, which is projected to grow to a $3.6 billion deficit over two years.
"This is ultimately about a commitment to the future, so our children don't face even more dire consequences than what we face today," Walker said at a news conference in the West Allis community of Milwaukee on Thursday.
The Wisconsin Assembly voted 53-42 Thursday to pass the bill after about three hours of discussion, far less than the 61-hour, three-day marathon it took to approve a previous version two weeks ago.
The passage drew shouts of "shame, shame, shame" from protesters in the gallery and came only a day after the dramatic action in the Republican-controlled Senate.
Republicans said they were simply doing what voters wanted.
In last year's election, "people spoke very clearly and very loudly and said they wanted government to change here in Madison," Republican Assembly Speaker Jeff Fitzgerald said. "It's a tough vote, but it's the right vote. People are sick of the status quo."
Shortly before the vote, police had to move dozens of protesters who were sitting just outside the Assembly chamber doors, blocking the way for lawmakers. Officers dragged many of them away, but there were no arrests.