López signed for Real Madrid Castillain the summer of 2009, with Real Madrid's reserves in the third division. He finished his first year with ten goals – second-best in the squad – as the team finished eighth in the league. In January 2011, Cristian signed for Valencia CF's B-team in the fourth level, in a season-long loan. He scored in double digits as the Che reserves returned to the third tier at the first attempt, and the move was made permanent in the summer. He added a further 11 goals the following campaign, including all of his team's goals on 13 May 2012 as they won 4–2 at UE Sant Andreu. Cristian spent 2012–13 still in division three, with CD Atlético Baleares. He ranked top scorer for the Palma de Majorca-based side, scoring twice on 31 March 2013 in a 3–0 home win over city rivals RCD Mallorca B.
On 17 July 2014, Cristian joined Burgos CF in the third tier, eventually helping his team to a mid-table finish. He received a straight red card on 11 October 2014 in a goalless draw at CD Guijuelo, for a 15th-minute high challenge on Juli Ferrer. Cristian moved abroad for the second time in June 2015, signing with Romanian Liga I team CFR Cluj. He made his top flight debut on 11 July, replacing Guima for the final 20 minutes of a 2–2 draw at FC Viitorul Constanța in the opening game of the season. A month later, he scored his first goal for the Feroviarii, the game's only at the Stadionul Dr. Constantin Rădulescu against FC Petrolul Ploiești, four minutes after coming on for Leo Beleck. On 31 August 2015, Cristian recorded a hat-trick in a 3–1 home win over FC Botoșani. The following 17 May, in the final of the Cupa României, he came on at half-time for Tomislav Gomelt and headed a last-minute equaliser as CFR came from behind to draw 2–2 against FC Dinamo București before winning in a penalty shootout.
Lens
Cristian switched countries again on 31 August 2016, when he joined Ligue 2 club RC Lens on a one-year deal with the option for a second. He made his debut nine days later, replacing Kévin Fortuné for the final ten minutes of a 1–1 home draw with FC Bourg-Pérronas, and scored his first goal on 20 September in a 4–2 win over US Orléans also at the Stade Bollaert-Delelis. The team finished in fourth, one point off promotion, and he was joint-third amongst scorers with 16 goals. Cristian scored eight times in the first half of the 2017–18 season. He then embarked on a drought which lasted until the final two fixtures against Tours FC and AJ Auxerre, and fans petitioned for him to be given a new contract.
Angers
On 31 August 2018, the last day of the 2018 summer transfer window, free agent Cristian signed a one-year contract with Angers SCO. His maiden appearance in Ligue 1 took place on 6 October, when he played the last eight minutes of a 2–2 home draw to RC Strasbourg Alsace. He scored his first goal late in same month, but in a 1–2 loss against Olympique Lyonnais.
On 19 August 2019, Cristian agreed to a one-year deal at UAE Pro-League's Hatta Club. The following 1 March, he signed with Spanish second division team UD Las Palmas for the rest of the season with the option of one more.