The bill, after two re-draftings, passed both houses by large margins Tuesday. In the House, the vote was 79-43 and in the Senate 37-14.
Republican Gov. Phil Bryant must now decide whether to sign it.
Two other states have rejected similar bills. In Arizona, Gov. Jan Brewer vetoed a measure that passed the state legislature, while in Oklahoma a bill passed one house, only to be killed in the other.
“This has been passed by 18 other states, and has been in federal law for years and years with no issues, no discrimination,” Andy Gipson, the Republican chairman of the House Judiciary Committee, said. “It does not discriminate, but what it does do is protect people from discrimination, religious people in the state of Mississippi.”
Senate President Philip Gunn, a Republican, said the bill is modeled on a 1993 federal law that limits the power of government to use zoning or other legal measures that restrict religious activity.
But Sen. Kenny Wayne Jones, a Democrat and head of the Legislative Black Caucus, suggested the bill is the latest chapter in Mississippi's history of discrimination.
“You saw what that does,” he said. “If you don’t think this bill does what I know it does, you go make a fool out of somebody else.”