At the 2012 Summer Olympics in London, Cielo finished 6th in the 100-metre freestyle, with a time of 47.92 seconds. The gold went to Nathan Adrian (47.52 seconds), followed by James Magnussen (47.53 seconds) and Brent Hayden (47.80 seconds). At the 50-metre mark, Cielo had the fastest split with a time of 22.60 seconds. In the 50-metre freestyle, where Cielo was the favorite to win gold, he ranked first in the semifinal, tied with Cullen Jones, with a time of 21.54 seconds. But in the final, he finished with a worse time than in the semifinal round, but managed to earn his third Olympic medal, a bronze, with a time of 21.59 seconds. The winner was Frenchman Florent Manaudou with a time of 21.34 seconds. Cielo's Olympic record of 21.30 seconds set in 2008 still held.