Pienaar sends Montpellier into Top 14 final
Montpellier will now face either Racing 92 or surprise package Castres, who play the second semi-final on Saturday, in the final on June 2.
Montpellier's giant Fijian wing Nemani Nadolo got the first try while Alexandre Dumoulin also scored as the visitors dominated to go in 23-9 at the break.
Louis Picamoles and Paul Willemse both scored after the break for Montpellier, coached by Kiwi Vern Cotter.
Three of those tries were made by 34-year-old scrumhalf Ruan Pienaar, the 2007 South African World Cup winner who controlled this match from start to finish.
Cotter said the game had been won in the first half and could watch Saturday's game with their feet up after a job well done.
"Ruan had a huge game, but so did the whole team who showed a great collective will, but our leaders showed real class on the pitch," Cotter said after the game.
Mike Harris got a late consolation try two minutes from the whistle for Lyon, known as the perennial "yo-yo team" of the Top 14, having been either relegated or promoted four times in six seasons but who have had a great year by their standards.
Lyon's former France star Frederic Michalak entered the field to a standing ovation as a late substitute in his last game for the club at 35-years-old.
"They were just too strong and didn't allow us to play," Michalak said.
"It all went so fast, I wanted to play the final but it's all over,"
Montpellier and Racing finished first and second in the regular season.