| Season | Team | Competition | MP | G | A | Rating | ||
|---|---|---|---|---|---|---|---|---|
| 2019 | América Mineiro | Serie B | 1 | 0 | 0 | 0 | 0 | 7.3 |
| 2018 | Sport Recife | Serie A | 23 | 4 | 3 | 1 | 0 | 6.8 |
| 2018 | Palmeiras | Serie A | 0 | 0 | 3 | 0 | 0 | 6.8 |
| 2018 | Palmeiras | Paulista A1 | 6 | 0 | 1 | 1 | 0 | 7.1 |
| 2017 | Palmeiras | Paulista A1 | 13 | 2 | 4 | 1 | 0 | 7.1 |
| 2017 | Palmeiras | Serie A | 17 | 0 | 2 | 4 | 0 | 7.0 |
| 2016 | São Paulo | Paulista A1 | 10 | 2 | 0 | 2 | 0 | – |
| 2016 | São Paulo | Serie A | 14 | 0 | 2 | 2 | 0 | 6.5 |
| 2015 | São Paulo | Paulista A1 | 12 | 3 | 0 | 2 | 1 | – |
| 2015 | São Paulo | Serie A | 31 | 7 | 0 | 4 | 0 | 6.9 |
| 2014 | São Paulo | Serie A | 19 | 1 | 0 | 3 | 2 | – |
| 2013/2014 | Roma | Serie A | 16 | 1 | 0 | 1 | 0 | – |
| 2013/2014 | Schalke 04 | Bundesliga | 0 | 0 | 0 | 0 | 0 | – |
| 2012/2013 | Schalke 04 | Bundesliga | 14 | 4 | 0 | 1 | 0 | – |
| 2012/2013 | Olympique Lyonnais | Ligue 1 | 12 | 5 | 0 | 0 | 0 | – |
| 2011/2012 | Olympique Lyonnais | Ligue 1 | 26 | 6 | 0 | 2 | 0 | – |
| 2010/2011 | Olympique Lyonnais | Ligue 1 | 28 | 5 | 0 | 3 | 0 | – |
| 2009/2010 | Olympique Lyonnais | Ligue 1 | 32 | 10 | 0 | 3 | 0 | – |
| 2008/2009 | Lille | Ligue 1 | 37 | 14 | 0 | 5 | 0 | – |
| 2007/2008 | Lille | Ligue 1 | 35 | 8 | 0 | 2 | 0 | – |
| 2006/2007 | Lille | Ligue 1 | 10 | 3 | 0 | 4 | 0 | – |
| 2005 | Figueirense | Serie A | 34 | 10 | 0 | 12 | 0 | – |
| Total | 390 | 85 | 15 | 53 | 3 | – | ||
| Date | From | To | Type | |
|---|---|---|---|---|
| 05 Jul 2018 | Palmeiras | Sport | Loan | |
| - | São Paulo | Palmeiras | N/A | |
| - | Al Ain | São Paulo | N/A | |
| 07 Jan 2014 | Roma | Al Ain | N/A | |
| - | Al Ain | Roma | Loan | |
| 08 Feb 2013 | Lyon | Al Ain | € 4M | |
| - | Lyon | Schalke 04 | Loan | |
| - | Lille | Lyon | € 18M | |
| 08 Jan 2006 | Paranaense | Lille | € 3M |
Michel Bastos career history shows progression across clubs and competitions, including club timeline, national team appearances and overall career totals.