Molinaro started playing at age 5 for Gelbison, in Vallo della Lucania, before growing up in the various Salernitana youth teams. In 2002–03 he made his league debut in Serie B. This marked the beginning of the two competitive seasons he played as a starter in Salerno, that included his first professional goal in 2004–05 in a match against Bari. In 2005, he moved to Siena, a club that he played for two seasons.
In 2005, he was noticed by the dense network of observers of Juventus and signed, who decided to sell him in co-ownership to Siena, in which Juventus already had several players on loan. He made his debut in Serie A on 18 September 2005 in Siena - Palermo 1–2 and his first season in the top flight was characterised by ups and downs; losing the role of starting left-back to the more experienced Gianluca Falsini. For 2006–07, Juventus, relegated to Serie B by the 2006 Italian football scandal, allowed Molinaro to remain at Siena, relying on him to cover the role of left-back. He collected 36 appearances out of 38 league games and two appearances in 2 rounds of Coppa Italia. On 20 June 2007, shortly before the transfer window deadline, Juventus redeemed him for a sum of €2.5 million. During 2007–08, at age 24, he carved out a starting spot on the left wing of the defence of Juventus, thanks to the movement of companion Giorgio Chiellini to central defence. In his second season at Juventus he debuted 13 August 2008 in the first leg of the third qualifying round of the Champions League, won 4–0 against Petržalka, which also represented his debut in European competition. On 28 November 2008 he extended his contract with Juventus until 2013. He finished the 2008–09 season prematurely because of a perirenal hematoma.
Stuttgart
With the arrival of Italy international Fabio Grosso and Uruguayan Martín Cáceresin the summer, Molinaro signed a loan deal with VfB Stuttgart on 5 January 2010 which initially saw him stay at the club until the end of the 2009–10 season. On 1 June 2010, VfB Stuttgart took advantage of a contract option and signed Molinaro permanently until June 2014. Juventus announced that on 14 June they received €3.9 million transfer fees and the deal was completed. During the first round of the 2013–14 Bundesliga season, Molinaro only played once. Kicker and other media reported that VfB Stuttgart sought to offload him.
Parma
On 30 January, Parma announced that they had signed Cristian Molinaro. On 16 February 2014, he scored his first goal with the shirt of Parma, as well as first in Serie A, against Atalanta for the momentary 0–1. Shortly afterwards, in his first game against his former team, Juventus, he scored his second goal in Serie A.
On 16 June 2014, Molinaro was signed by Torino on an annual contract. He made his debut with the Granata in the third round of the 2014–15 Europa League against Brommapojkarna. On 25 June 2015, Torino exercised the option to extend his contract. He played a total of 38 games and scored one goal, in a 2–1 victory against Inter Milan. On 18 September 2016, he ruptured his anterior cruciate ligament in a home game against Empoli. He returned on 13 March 2017, during a match against Lazio. After renewing his contract with Torino until June 2018, he continued to play for Torino until he fractured the head of his fibula in February. After the injury, he played his hundredth game for Torino on 29 April away against Lazio. At the end of the season he was released on a free transfer.