The bill bans civil society organizations from engaging in politics and allows the state to interfere in their governance and activities, such as making changes to their internal management and funding.
Those found in breach of its provisions risk up to a year in jail and the closure of their organization.
Only one senator voted against the law. The chamber is dominated by the ruling ZANU party, with the main opposition group -- the Citizens Coalition for Change -- holding no seats.
The lone dissenter, Senator Morgen Komichi, called the bill "obscene", saying NGOs provide key support in areas including health, education and food security.
"Zimbabwe is a country that does not have a strong economy which can cater for every Zimbabwean," Komichi said.
The senate voted late Wednesday in favour of the Private Voluntary Organisations Amendment Bill, which needs to be ratified by the president before passing into law. The text sailed through the country's other chamber of parliament, the National Assembly, late last year.
Justice Minister Ziyambi Ziyambi said the law was a "necessary measure to improve the administration, accountability and transparency" of charities working in the country.
He accused some of "directing money to favored political parties."
Critics argue that the law's broad scope risks de facto criminalizing the activity of any organization disliked by the government.
Some warned it could lead to drastic cuts in foreign aid, which comes through non-governmental organizations, and is estimated to be Zimbabwe's third-largest revenue stream.
Prominent journalist and activist Hopewell Chin'ono, said on Twitter the "draconian" legislation was similar to an apartheid-era law in South Africa that barred certain civil organizations from receiving foreign aid or funds.
"This is the lowest any modern state can get to. Especially a state that was born through struggle for freedom, independence and democracy," Peter Mutasa, director of the Crisis in Zimbabwe Coalition, a civil society umbrella group, told AFP.
"We never expected that we could sink this low".
Up to 18,000 people working for non-governmental organisations in the country risk losing their jobs, he said.
President Emmerson Mnangagwa, who replaced long-time ruler Robert Mugabe in 2017, faces widespread discontent as he struggles to ease entrenched poverty, end chronic power cuts and brake inflation.