Former Ajax and Borussia Dortmund coach Bosz was most recently with Bayer Leverkusen and will take the reins at Lyon on July 1.
The 57-year-old fills the void left following Garcia's decision to leave the Ligue 1 club this month, having guided them to fourth spot this season.
Bosz led Ajax to the Europa League final in 2017, beating his new employers in the semi-final, before a brief and disappointing spell with BVB.
He was sacked by Leverkusen in March and replaced on an interim basis by former Stuttgart boss Hannes Wolf, having endured a run of four wins in 18 matches in all competitions.
Lyon lost to Nice on the final day of the French season to miss out on Champions League qualification.