Мишел Бастос — воспитанник клуба «Пелотас», откуда он уехал в Голландию, в клуб «Фейеноорд». Однако в основном составе «Фейеноорда» Бастос не дебютировал и был отдан в аренду в другую голландскую команду, «Эксельсиор», за которую провёл 28 игр. После этого, Бастос вернулся в Бразилию, где играл за клубы «Атлетико Паранаэнсе», «Гремио» и «Фигейренсе».
В 2006 году Бастос уехал во Францию, подписав контракт с клубом «Лилль», за который дебютировал во втором туре чемпионата Франции в матче против «Ренна», сыграв 65 минут встречи; Лилль матч выиграл 2:1. В том же сезоне он забил свой первый мяч за клуб, поразив ворота «Ланса». Всего в первом сезоне во Франции Бастос забил 3 гола. В сезоне 2007/2008 Бастос забил 8 голов, чем помог своему клубу занять 7-е место в чемпионате. В том же сезоне Бастос был переведён с позиции центрального хавбека на левый фланг полузащиты. В следующем году Бастос занял твёрдую позицию на левом фланге полузащиты и стал лидером клуба, а также «штатным» исполнителем «стандартных положений». С 11 ноября 2008 года у Бастоса началась голевая полоса: он забил 5 голов в 5-ти матчах подряд, а через некоторое время забил 6 голов в 6-ти играх. Всего в том сезоне он забил 16 голов и сделал 13 голевых передач, став лучшим бомбардиром клуба, занявшего 5-е место в чемпионате. Также Бастос был кандидатом на звание футболиста года во Франции и вошёл в символическую сборную сезона.
15 июня 2009 года Бастос перешёл в клуб «Олимпик Лион», заплативший за трансфер бразильца 18 млн евро, предпочтя ему «Баварию». Контракт был подписан на 4 года. 20 июня он был представлен СМИ, как игрок клуба, и получил футболку с номером 7:
Свой первый мяч за клуб Бастос забил 19 августа 2009 года во встрече Лиги чемпионов с «Андерлехтом». В сентябре, в матче Лиги чемпионов с «Фиорентиной», Бастос получил травму и некоторое время не выступал.
В мае 2011 года Бастосом заинтересовались в туринском «Ювентусе».
В декабре 2011 года Бастос получил травму спины и выбыл из строя на месяц.
27 октября 2009 года Бастос впервые был вызван в состав сборной Бразилии на матче с Англией и, затем, с Оманом. 17 ноября он дебютировал в игре с Оманом, сыграв весь матч. В 2010 году Бастос попал в состав сборной, поехавшей на чемпионат мира. 2 июня он забил первый мяч за сборную, поразив ворота Зимбабве.
В сборной Бастос используется на позиции левого латераля, закрывая всю бровку, и помогая партнёру по атаке, Робиньо.