Lionel Messi scored twice and set up two other goals as Barcelona booked a last-eight place for the 12th successive season.
Article top media content
All you need to know in 60 seconds ...
The hosts controlled the tempo from the off with Lionel Messi thwarted early on by Anthony Lopes, but Barcelona did take the lead in the 18th minute. Luis Suárez's foray behind the Lyon defence was ended by Jason Denayer's challenge and Messi coolly dinked his penalty down the middle.
Suárez was instrumental in the second goal too, racing onto Arthur's pass and squaring for Philippe Coutinho to tap in. Lyon grabbed a lifeline in the 58th minute when Barça failed to clear and Lucas Tousart drove in – however Messi then took the game by the scruff of the neck.
The Blaugrana talisman turned the visiting defence inside out before squeezing in the third, before laying on goals for Gerard Piqué and Ousmane Dembélé from two devastating counterattacks.
View from the stadium: Graham Hunter
Just another extraordinary Camp Nou night. They've often played better and made fewer errors but a mix of this stubborn spirit and Messi's magic, even when he's had superior performances, can take Barcelona far.
Man of the match: Lionel Messi
You simply cannot keep Messi down. His confident penalty apart, the Argentinian genius was actually having a pretty quiet game by his standards, until he ensured Barça's progress with a stunning final 15 minutes.
The trademark Messi balance left Lyon defenders floored before the right-footed finish for 3-1 and an eighth goal in six UEFA Champions League appearances this season. Two assists followed from a player who seems determined to inspire his side all the way to glory in Madrid on 1 June.
- Barcelona are unbeaten in 30 #UCL home matches (W27), beating the record Bayern set between March 1998 and April 2002.
- Messi is now joint-top scorer with Robert Lewandowski in this season's #UCL on eight goals.
- Messi has amassed 62 goals in his 61 #UCL games at Camp Nou.
- Barcelona have lost just one of their last 19 UEFA Champions League matches.
- The Spanish club have won their last 12 round-of-16 home games.
What does it mean?
Barcelona extend their record for the most successive appearances in the quarter-finals as they take their place in the last eight for the 12th year in a row. They now look forward to the UEFA Champions League quarter-final draw on Friday at 12:00CET.
Lyon's goal was their 200th in the UEFA Champions League but their ten-game unbeaten run in the competition is over.
Barcelona travel to Real Betis on Sunday and must also contend with a city derby against Espanyol, a trip to Villarreal and the visit of Atlético prior to the first leg of their quarter-final (09/04 or 10/04).
Currently third in France, Lyon resume their pursuit of a UEFA Champions League place at home to Montpellier on Saturday, before an assignment in Rennes beckons after the international break.