New York City

Nearly united NYC Council votes 46 to 3 to approve FY 2025 budget

The three dissenters, all democratic socialists, blamed the mayor for budget mismanagement.

City Council Speaker Adrienne Adams received ample praise during Sunday’s vote.

City Council Speaker Adrienne Adams received ample praise during Sunday’s vote. John McCarten/NYC Council Media Unit

On the heels of a contentious season of negotiations with the Adams administration, the New York City Council voted to adopt a budget for the next fiscal year in a 46 to 3 vote in a notably more favorable margin than last year’s 12 dissenting votes. Sunday’s vote came mere hours before the midnight June 30 deadline.

The passage of the $112.4 billion operating budget for fiscal year 2025 comes two days after New York City Mayor Eric Adams and Speaker Adrienne Adams sealed their agreement with a handshake at City Hall Friday afternoon. While this year’s budget dance stretched into the eleventh hour, negotiations ultimately yielded a top line number around a billion dollars higher than the mayor’s proposed executive budget from April. Though budget documents had still not been made available to the press as of Sunday afternoon, city leaders said many of the mayor’s proposed cuts were fully or partially restored.

Speaker Adams and Finance Chair Justin Brannan struck a largely celebratory tone in a press conference leading up to the Sunday afternoon vote, trumpeting the City Council’s successful push to spur the Adams administration to reverse more than $58 million in cuts to libraries – allowing most branches to remain open on Sundays – $53 million to cultural institutions, and some funding to parks, composting, early childhood education, older adult centers and other city services. Disputes over budget projections underscored much of negotiations this year. While Mayor Adams instituted multiple rounds of citywide cuts in light of yawning budget deficits and city spending on migrants, the City Council blamed the mayor’s “too conservative” budget numbers, arguing the cuts weren’t necessary.

“We were clear about the challenges and that we have the resources to invest in New Yorkers and protect what they rely on,” Speaker Adams said ahead of the vote Sunday.

“No one was sleeping until we got this right and we got our priorities restored,” Brannan added.

While a number of members expressed disappointment that they were put in a position where they had to fight to reverse cuts proven to be “unnecessary” in the first place, democratic socialist City Council Members Shahana Hanif, Tiffany Cabán and Alexa Avilés were the only members to vote against the budget Sunday. They did so citing the remaining cuts and what they described as the mayor’s poor budgetary management.

“Ultimately, this is a restoration budget that prevents funding for essential services from going bad to worse,” Hanif said, explaining her vote.

“This no vote will certainly not grow my popularity with the powers that be, but my constituents did not put me in this room to be a rubber stamp on another Mayor Adams project,” Cabán said. 

“I remind you, none of these cuts should have happened in the first place,” Avilés said, adding “When you look under the hood of the budget, you will find a collection of many ways this mayor has failed us and continues to waste resources.”

The fact that so many fewer members voted no this year compared to last speaks to stronger consensus about Speaker Adams’ management of the council. On Sunday, member after member praised her and the rest of City Council leadership for how they steered budgetary negotiations over the last couple of months. Hanif, Cabán and Avilés also made it clear that their dissenting votes had nothing to do with how the City Council handled things. All three acknowledged members’ hard work that ultimately prevented the most “egregious” of the cuts. 

Beyond the various funding restorations, the final budget also includes an additional $2 billion in capital for building and preserving affordable housing, $5 million in baselined funding for housing voucher program CityFHEPS, tens of millions of dollars to build a new trauma center in the Rockaways, funding to replace expiring federal stimulus funding that’s supported many education programs, $100 million to “reset” the city’s early childhood education system, and increased eligibility for the Fair Fares program.

City Council Member Gale Brewer said the budget is a good one. 

“I heard the negotiators on the mayor’s side (say) the council was tough. That’s a really positive reference,” she said. Other members were more reluctant in signing off on the budget.

Though she voted to adopt it, City Council Member Jennifer Gutiérrez said this budget cycle was a reminder that the mayor and his administration “are very good at playing politics with the lives of New Yorkers.”

“I want to be very, very clear. We have spent half a year fighting to restore reckless cuts that this mayor made,” she said. “This fight is proof that not only were these cuts unnecessary, but a distraction made to weaken this body and our spirits.”

Gutiérrez, along with Avilés, Cabán, Hanif and seven other then-progressive caucus members voted against the fiscal year 2024 budget last year. (The other no vote was Republican Ari Kagan.) While many progressive organizations urged members to do so last year, People’s Plan NYC – one of the primary groups fighting against budget cuts – praised all of the caucus members after the Sunday vote for fighting against slashed funding.

“We applaud the City Council members who stood by their principles and voted no on this budget, as well as those who used their votes as leverage to counteract the worst cuts,” People’s Plan Director Zara Nasir said in a statement.

The three members who voted against the budget can likely expect some degree of chilliness from the speaker’s office. Speaker Adams is not seen as a particularly punitive speaker. Those who voted against the budget last year were still able to pass legislation and every single member received credit for initiatives in the Schedule C budget allocating discretionary funding.