Nacional Asuncion had temporarily moved into first position in the Paraguayan league table when they trumped 12 de Octubre 1-0 on Sunday but Libertad responded in the late kick-off, coming from behind to inflict a second straight loss on the reigning champions.
Oscar Romero gave Cerro the lead in the 12th minute with an opportunistic header, nodding a team-mate's driven shot past the home side's goalkeeper.
Libertad equalized just eight minutes later when Lopez converted from the spot and the Uruguayan striker put the hosts in front in the 33rd minute, powering a long-range header into the net from Jorge Moreira's fine cross.
Moreira and Lopez combined again with four minutes left in the second half to wrap up Libertad's victory.
Lopez picked up possession in midfield and burst forward before releasing Moreira down the right and the full-back returned the ball to the near post for Libertad's gun marksman to score his sixth goal of the season.
The win took Libertad to 13 points from five games at the top of the table with Nacional one point behind.
Also on Sunday, third-placed Rubio Nu drew 2-2 at Guarani to move to eight points overall.
Olimpia defeated Deportivo Capiata 2-1 to claim their first win in four games, while Sol de America drew 1-1 with 3 de Febrero and General Diaz lost 1-0 at home to Sportivo Luqueno.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.