Freezing positions will also allow the city to avoid layoffs. About one-third of the frozen jobs would be sworn police roles.
The mayor also wants to delay the start of some city programs and reorganize some city departments to save more money. The reorganization would become effective next year.
The two-year budget deficit is $360 million – the largest in the city's history, in a budget of $2.1 billion.
In a statement, Thao said: "We had to make some tough choices in this budget but in the end, we not only avoided catastrophic closures and cuts, we made some investments in our shared future.This is a roadmap to weathering this crisis, making us more resilient to future challenges and emerging stronger as a city."
Freezing the roughly 300 positions would save about $133 million over two years. To close the deficit further, the city will use $60 million in savings from the previous budget and $10 million from a rainy-day vital services stabilization fund.
The rest of the savings will come from small cuts in individual departments, according to the mayor's office.
The next budget does involve spending increases, too. Thao is proposing more than $200 million over the next two years for affordable housing.
She wants to spend $10 million to upgrade and harden the city's cyber security technology following a ransomware attack against the city earlier this year. But she's also proposing to freeze one full-time equivalent position in the information technology department, which keeps the department understaffed.