The Indian capital, Delhi, will host the 2010 Commonwealth Games, it was announced on Thursday.
The 2002 Games were held in Manchester
Delhi won 46 votes to Canadian rivals Hamilton's 22 in a secret ballot.
Commonwealth Games Federation president, Mike Fennell, said both cities had come up with impressive bids.
"Delhi and Hamilton each demonstrated a strong desire to host the 2010 Commonwealth Games, but there could only be one winner today," said Fennell.
Indian National Olympic Committee president and bid leader Suresh Kalmadie promised to host "the best, most
progressive Commonwealth Games ever."
He added: "This is a great moment for sport and for India. I am immensely proud of
the work that has been done by our team."
Delhi will be only the second Asian city to host the event, following in the footsteps of Kuala Lumpur in Malaysia, which staged the event in 1998.
India had been favourites to win the event, having never hosted it before.
Delhi officials had complained that wealthy countries were picked too often, with Canada having hosted the event four times.
Besides Malaysia, the only other developing country to host the Games was Jamaica, in 1966.
With more than 1.2bn people, India is the largest nation in the Commonwealth and accounts for 55% of the member countries' combined populations.
Held every four years, the Games bring together about 5,500 athletes from the 72-member Commonwealth of Britain.
With a motto celebrating "Humanity, Equality, Destiny," the event is aimed at strengthening the union through sports.
Holding the Commonwealth Games is also seen as giving an advantage to countries seeking to bid for future Olympic Games.