The move means Uruguay becomes the first Latin American country to allow gay couples the chance to adopt.
Some 17 of 23 senators voted in favour of the new legislation, AFP reports.
The change - opposed by the Catholic Church - is the latest in a series of liberalising measures supported by left-wing President Tabare Vazquez.
The archbishop of Montevideo, Nicolas Cotugno, said before the vote that it would be a "serious error to accept the adoption of children by homosexual couples".
"It's not about religion, philosophy or sociology. It's something which is mainly about the respect of human nature itself," he said in a statement quoted by AFP.
Under the new law, the power to make decisions on adoptions shifts from judges to the national Institute of Children and Adolescents.
The country, says the BBC's correspondent in the region, Gary Duffy, has a history of adopting a more liberal stance on social questions.
In 1907, for example, it became the first country in the region to approve divorce and women were given the right to vote in 1932.
Last year, gay civil unions were legalised and earlier this year earlier this year the way was cleared for gay candidates to enter military schools.