The US has imposed sanctions on Uganda for anti-gay laws it says are "counter to universal human rights".
It said Ugandans involved in human rights abuses against gay people would be banned from entering the US.
The White House is also cutting funds to a number of programmes it is running with the Ugandan authorities, and cancelling a military exercise.
Uganda has said it will not be pressed by the West to change the laws, which can see gay people jailed for life.
The law signed in February allows life imprisonment for acts of "aggravated homosexuality" and criminalises the "promotion of homosexuality".
Aviation exercise cancelled
The White House described the legislation an affront that called into question Uganda's commitment to protecting human rights.
"The Department of State is taking measures to prevent entry into the United States by certain Ugandan officials involved in serious human rights abuses, including against LGBT individuals," said National Security Council spokeswoman Caitlin Hayden Hayden in a written statement."
The US will also discontinue or redirect funds for certain programmes involving the Ugandan Police Force, National Public Health Institute and Ministry of Health, and has cancelled plans to conduct a US military-sponsored aviation exercise in the African nation.
It is the latest effort by US officials to challenge Uganda's Anti-Homosexuality Act.
Last week, US Senator Kirsten Gillibrand decried the nomination of Uganda's foreign minister to president of the UN General Assembly, given his country's treatment of gay people.
It would be "disturbing to see the foreign minister of a country that passed an unjust, harsh and discriminatory law'' preside over the UN body, she told US media of the nomination of Sam Kutesa.
More than 9,000 people also signed a petition urging UN states to block him. He was subsequently elected to the role.
Ugandan rights activists and politicians also filed a legal challenge to overturn the law, arguing it subjected them to cruel and inhuman punishment.
Uganda's authorities have defended the law, saying President Yoweri Museveni wanted "to demonstrate Uganda's independence in the face of Western pressure and provocation".
The World Bank postponed a $90m (£54m) loan to Uganda to improve its health services after the law was approved.
Several European nations - including Denmark, Norway, the Netherlands and Sweden - have cut aid to Uganda to show their opposition to the law.