Lopez scored in the 66th and Eto broke through in the 73rd on Wednesday following a controversial sending off in the 56th of Chelsea's Didier Drogba.
Chelsea which had little possession in the first half was lucky to be leading after 45 minutes following an own-goal from Barca's Juliano Belletti.
In was a bad night for English clubs in the first leg of the round of 16.
Manchester United lost 1-0 to AC Milan at Old Trafford on Hernan Crepo's goal late in the second half.
In Wednesday's other first-leg games defending champion Porto rallied for a 1-1 draw at home against Inter Milan on a strike in the 61st from Ricardo Costa and French league leader Lyon won 3-0 at Werder Bremen on goals from Sylvain Wiltord Mahamadou Diarra and Juninho Pernambucano.
In Tuesday's four matches it was: Real Madrid 1 Juventus 0; Liverpool 3 Leverkusen 1; PSV 1 Monaco 0; Bayern Munich 3 Arsenal 1.
The return legs are in two weeks with the survivors reaching the quarterfinals of Europe most prestigious club tournament. Inter and Porto however will play March 15 because of a rule that bars matches in the same stadium on consecutive days and AC Milan will be hosting Manchester United on March 8.
Barca's win was a personal victory for coach Frank Rijkaard.
Before the game Chelsea counterpart Jose Mourinho said the Dutchman had been a great player but had won nothing as a coach.
Mourinho on the other hand won the Champions League last season with Porto and is trying to return to the title match with Chelsea.
The game turned in the 56th when Swedish referee Anders Frisk ejected Drogba with his second yellow card. Drogba chased a loose ball in the area and raised his foot high attempting to jar the ball loose from the hands of Barca keeper Victor Valdes.
Rijkaard then made his move sending on Lopez who scored minutes later. Barca which had most of the possession before the sending off had almost all of it afterward.
Mourinho took the unsual step of announcing his starting team 24 hours before the match began. He also guessed at Barcelona's lineup.
He turned out to be correct about Barca's starting 11 but was wrong about his own team. He played Damien Duff instead of Eidur Gudjohnsen chosing to use the Ireland international after not expecting him to be available because of an injury incurred during a weekend loss to Newcastle.
Six-time winner AC Milan edged Man United by capitalizing when United goalkeeper Roy Carroll failed to hold a routine long-range shot. He dropped the ball which Crespo prodded into an empty net 12 minutes from the end.
The goal was a reward for Milan's well organized midfield play at Old Trafford. Coach Carlo Ancelotti whose team won its last Champions League title on the same ground two seasons ago will be delighted to return to Italy with a one-goal advantage.
French champion Lyon will return home with a nearly insurmountable 3-0 lead over Werden Bremen.
Even before the match there was bad news for Bremen. Striker Ivan Klasnic injured a tender thigh while warming up forcing Miroslav Klose to take his place. Klose was supposed to be on the bench recovering from a bad cold.
Defending champion FC Porto fell behind on a goal in the 24th by Inter Milan's Obafemi Martins - his fifth in five Champions League games.
Ricardo Costa equalized for the Portuguese in a goalmouth scramble in the 61st minute. Italian goalkeeper Francesco Toldo failed to grasp a high ball at the back post allowing Francisco Costinha to pass inside to the central defender who bundled the ball into the net.