En 2005-2006 et 2006-2007, il marque 30 buts et devient le premier joueur du Canadien de Montréal à inscrire plus de 30 buts en deux saisons consécutives depuis Mark Recchi en 1996-1997 et 1997-1998.
Il a marqué son 100epoint dans la LNH le 2006. En série éliminatoire de cette même année, il marque un but qui permet au Canadien de prendre une avance de 2 à 0 dans la série contre les Hurricanes de la Caroline. Malgré tout, les Canadiens seront éliminés en perdant les quatre matchs suivants.
En 2006-2007, le numéro 73 termine la saison avec 30 buts et 28 passes pour 58 points. Il connaît une belle performance au dernier match de la saison, mais malheureusement, ses trois buts et une passe ne seront pas suffisants pour permettre au Canadien de participer aux séries éliminatoires.
En 2007-2008, lors du match du à Montréal, Michael Ryder a effectué deux buts et une assistance dans la remontée spectaculaire des Canadiens alors qu'ils perdaient 5-0 face aux Rangers de New York; les Canadiens l'ont finalement emporté 6-5. C'était la première fois dans les 99 ans d'histoire de l'équipe qu'une remontée de la sorte était effectuée. Malgré de belles performances, Michael Ryder a été laissé de côté de l'alignement vers la fin de la saison et durant les séries éliminatoires par son entraîneur Guy Carbonneau.
Le il signe un contrat de trois ans avec les Bruins de Boston pour 12 millions de dollars.
Le , il signe un contrat de deux ans avec les Stars de Dallas. Le , les Canadiens de Montréal le rapatrient en retour d'Erik Cole.