The first half was a tight affair, the scores level at 10-10 at the interval after Takudzwa Ngwenya and Ricky January had traded tries, and Romain Loursac and Dimitri Yachvili had added a penalty apiece.
But Biarritz pulled away after the break, Imanol Harinordoquay, Dane Haylett-Petty and Yachvilli all crossing over for the visitors, while Yachvili also added another three conversions and a penalty.
Lyon, meanwhile, could only manage one more converted try, courtesy of substitute Brice Salobert and now look certain for relegation.
Argentine star Felipe Contepomi scored two tries, while Italian national skipper Sergio Parisse, David Lyons, Morgan Turinui, Julian Arias and Aled de Malmanche all also touching down.
Contepomi added five conversions and two penalties while Martin Rodriguez kicked a sixth penalty.
In the late game
Lionel Mazars scored the crucial try (the only try of the match) with Benjamin Boyet converting to leave Bayonne sitting just one point behind 12th-placed Perpignan.
Boyet also added four penalties, a feat matched by try-less Brive, through the boot of Mathieu Belie.