Leo began his single–seater career in late 2005 in the Italian Formula Junior 1600 Winter series, scoring nine points to finish 13th in the standings. The following year he took part in a full season in the category, recording one podium finish to be classified in 12th place.
At the end of the 2006 season, Leo took part in the Italian Formula Renault 2.0 Winter series for RP Motorsport, finishing in 15th place. In 2007, he continued with the team into the main championship, although he failed to score a point in the fourteen races he contested.
In 2008, Leo stepped up to the German Formula Three Championship with the Italian Ombra Racing team. He finished ninth in the standings after taking a single podium place in the opening round at Hockenheim. He also made a one–off appearance in the British Formula 3 Championship round at Monza in May. After starting both races from the back of the grid, he finished 14th in race one before retiring from the second race.
At the end of 2008, Leo took part in Formula Renault 3.5 Series collective testing at Paul Ricard and Valencia. After testing for both RC Motorsport and Pons Racing, Leo signed with the latter to contest the 2009 season, alongside SpaniardMarcos Martínez. He scored eight points over the course of the 17–race season, with those points coming at the final round of the campaign at the new Motorland Aragón circuit with a pair of seventh place finishes. During the off–season Leo tested with several different teams, including Fortec Motorsport and Draco Racing, but remained with Pons Racing for a second season in 2010. After scoring a fifth place in the opening round at Motorland Aragón, Leo took just three more points finishes and was classified in 17th place, tied on 16 points with both Walter Grubmüller and Jan Charouz.
In May 2010, Leo made his debut in the new Auto GP championship at Imola, replacing Adrian Zaugg at the Trident Racing team. After finishing in ninth place in the feature race, Leo took fifth place in the sprint event after surviving a startline accident that eliminated six cars. In October 2010, Leo rejoined the team for the final round of the season at Monza, finishing the two races in fifth and seventh places respectively to be classified 16th in the final standings.
Leo made his GP2 Series début at the final round of the 2010 season in Abu Dhabi, replacing Edoardo Piscopo at the Trident Racing team. He finished the feature race in 19th place, but retired from the sprint event.
Racing record
Career summary
† – As Leo was a guest driver, he was ineligible for championship points.