Thierry Henry hit a brace on 25 and 27 minutes, and further goals from Lionel Messi and Samuel Eto'o late in the first half gave the Catalans absolute dominance.
However, Lyon's Jean Makoun pulled one back seconds from the break, and Juninho netted the second for the French side right after the restart.
Seydou Keita, who was introduced as a substitute, put the icing on the cake for Lyon on 90 minutes.
Josep Guardiola's side, who won 6-3 on aggregate, took control right after the kick-off, with midfielders Xavi and Andres Iniesta showing glimpses of their talent.
Lyon had their first chance on 20 minutes when Karim Benzema whipped in a left-wing low cross, but Ederson couldn't divert the ball into the net.
Barca took the lead when Henry was released by Rafael Marquez's chip pass, and the French international slotted home with aplomb.
A couple of minutes after, Henry was fed by Xavi to penetrate the penalty area and unleash an unstoppable shot inside the bottom corner.
Messi raised eyebrows on 40 minutes when he cut in from the right and easily tucked in the third after exchanging passes with Eto'o.
Cameroon star Eto'o latched onto Henry's assist three minutes later and lashed clinically to further ensure his team's qualification chances.
On 44 minutes, Makoun nodded in Juninho's corner-kick to give Lyon a slight hope.
Early in the second period, Benzema cunningly let Cesar Delgado's cross run on for Juninho, who hit the second for the visitors.
Keita completed Barcelona's emphatic victory with a last-gasp strike when he scored past Hugo Lloris.
Juninho received his marching orders after launching into an argument with Brazil compatriot Daniel Alves in injury time.