The Southeast Asian nation's bid to host the games was backed by 53 IOC members in a postal vote, giving the city state nine more votes than Moscow's 44.
Last month the IOC chose the two finalist candidate cities from a list which also included Athens, Bangkok, and Turin.
IOC president Jacques Rogge announced the voting results at a ceremony in Lausanne, Switzerland.
After the announcement, Singaporean Prime Minister Lee Hsien Loong said hosting the games would be a "great honor and privilege" for the country.
The IOC said on its website: "the Youth Olympic Games aim to bring together talented athletes - age group 14 to 18 - from around the world to participate in high-level competitions but also to run, alongside the sports element of the event, educational programmes on the Olympic values, the benefits of sport for a healthy lifestyle, the social values sport can deliver and on the dangers of doping and of training to excess and/or of inactivity."
Russia will host the 2014 Winter Olympics at the Black Sea resort of Sochi.