The 63-37 vote followed two days of debate that pitted the promise of new disease cures against deep questions of conscience, especially among Bush's supporters on the religious right who view embryos as human life and oppose the measure.
Tuesday's vote was coloured by election-year politics and personal views that cut across party lines. The House of Representatives - Republican-controlled, like the Senate - had passed the bill last year.
White House spokesman Tony Snow reiterated before the vote that Bush would veto the measure.
"The president believes strongly that for the purpose of research it's inappropriate for the federal government to finance something that many people consider murder. He's one of them," Snow said.
The measure would lift restrictions Bush imposed in August 2001 on the grounds that the research destroys human embryos.
Scientists, eager to explore the potential for treating brain diseases such as Alzheimer's and diabetes, have pressed the government to ease the restrictions.
So has Senate Republican majority leader Bill Frist, a key White House ally in Congress who broke with Bush over stem-cell research last year.
Others who appealed to Bush to change his mind included former first lady Nancy Reagan, whose late husband Ronald Reagan suffered from Alzheimer's, and California Governor Arnold Schwarzenegger.
Frist, a medical doctor, argued Monday that the limitations will "slow our ability to bring potential new treatments for certain diseases."
Bush in 2001 limited federal research to 78 stem-cell lines derived from fertilized human eggs. Creating new lines would have involved the destruction of human embryos.
The government has since admitted that many of the cell lines are contaminated, cutting the useable number to 22.
With polls showing most Americans support stem-cell research, opposition Democrats are seeking to capitalise on the issue in campaigning for mid-term Congressional elections in November.
But it appears unlikely that the 100-member Senate would muster the needed 67 votes to override a presidential veto.