Il ne rejoint pas pour autant la franchise de la LNH mais continue dans l'OHL avec différentes équipes. En 2002, il fait ses débuts dans la Ligue américaine de hockey après avoir signé en tant qu'agent libre pour les Sénateurs d'Ottawa[1]. Il joue alors pour les Senators de Binghamton. Lors de sa troisième saison avec les Senators, il enregistre un total de 551 minutes de pénalité, un record pour la franchise de la LNH.
La saison suivante, il rejoint l'effectif des Sénateurs de la LNH, totalise 141 minutes et devient dès sa première saison, le joueur de la LNH à avoir participé au plus grand nombre de combats au cours de la saison (19 combats)[2].
En 2006-2007, il ne joue qu'une quarantaine de matchs n'étant sur la feuille de match que pour remplacer un coéquipier blessé.
Le , la Ligue Nationale annonce officiellement que McGrattan a accepté volontairement de suivre le programme d'aide contre les drogues et l'alcool de la NHLPA. Il touchera son salaire complet durant son séjour en thérapie.
Le , il signe comme agent libre avec les Bruins de Boston direction Providence.
Après un séjour d'une saison et demi avec les Predators de Nashville, il est retourne aux Flames de Calgary le . Le il signe un contrat d'une saison de 600 000$ avec les Ducks d'Anaheim.