"We are very happy to have managed to get Bastos," sports director Horst Heldt said in a statement.
"He has a lot of abilities and can help us immediately. Also he is eligible to play in the Champions League."
The 29-year-old, who has won five caps for his country, is a numerical replacement for Lewis Holtby who has joined Tottenham Hotspur.
Schalke have dropped to sixth place in the Bundesliga after a dip in form late last year.
They take on Turkey's Galatasaray, who have signed Wesley Sneijder and Didier Drogba in the past few days, in the Champions League round of 16 next month.
Lyon are second in France's Ligue 1.