The bill passed 34 to 21. Only one Republican voted in favor of the legislation: Sen. Jason Barickman (R-53) whose district covers parts of McLean and Livingston counties.
The vote followed a passionate debate. Proponents of the legislation said the bill is a momentous step forward for civil rights. But opponents said the law could infringe on the liberties of religious institutions.
The bill now heads to the Democrat controlled state House of Representatives. If it passes there, the governor says he will sign it.
To see how your senator voted, click here.