McGrattan pelasi viisi kautta OHL:ssä vuosien 1997 ja 2002 välillä.[1] Hän esiintyi 25 pelissä Guelph Stormin paidassa kaudella 1997–1998. Vaikka hän ei pelannut yhtäkään pudotuspeliottelua, hänet laskettiin mukaan J. Ross Robertson Cupin voittaneeseen OHL-mestarijoukkueeseen. McGrattan pelasi seuraavalla kaudella vain kuusi ottelua Guelphissa ennen kuin hänet lähetettiin Sudbury Wolvesiin, jossa hän istui 153 jäähyminuuttia. 53 ottelussa hän teki myös 17 pistettä. Seuraavalla kaudella 1999–2000 hän pystyi kasvattamaan pistemääränsä 32:een ja rangaistusmäärän 245 minuuttiin.
Kauden 2000–2001 McGrattan pelasi kokonaan Mississaugassa, jossa hän teki 31 pelissä peräti 20 maalia. Hän oli suurimman osan kaudesta sivussa polvivamman vuoksi. Seuraavan kauden hän aloitti Mississaugan kapteenina, mutta lokakuussa 2001 hänet kaupattiin Owen Sound Attackiin, josta hänet siirrettiin Oshawa Generalsiin vain muutamaa päivää myöhemmin. Oshawasta hänet vaihdettiin jälleen Sault Ste. Marie Greyhoundsiin tammikuussa 2002. Neljässä joukkueessa McGrattan pelasi kauden aikana 60 ottelua ja teki 20 maalia sekä yhteensä 35 pistettä. Jäähyllä hän vietti aikaa 159 minuutin verran.[2]
Ottawa Senators
McGrattan varattiin Los Angeles Kingsiin neljännellä kierroksella, mutta hän päätti olla allekirjoittamatta sopimusta polvivammansa seurauksena eikä pelannut lopulta joukkueessa yhtäkään ottelua. Hän osallistui ennen kautta 2001–2002 Detroit Red Wingsin harjoitusleirille. 2. kesäkuuta 2002 hän allekirjoitti Ottawa Senatorsin kanssa sopimuksen. Kolme ensimmäistä vuotta hän pelasi AHL:ssä Senatorsin farmijoukkueessa Binghamton Senatorsissa. Ensimmäisessä ammattilaisottelussaan hän pelasi Bridgeport Sound Tigersia vastaan. 11. lokakuuta 2002 hän teki ensimmäisen pisteensä syöttäessään Jeff Ulmerin maalin.
Kokonsa puolesta McGrattanin uskottiin tulevan ”poliisiksi” hänen päästessään NHL:ään. Hänen kanssaan Binghamtonissa pelasi kahden kauden ajan myös kaikkien aikojen eniten jäähyjä ammattilaistasolla ottanut pelaaja Dennis Bonvie. Ensimmäisellä kaudellaan McGrattanille kertyi 173 jäähyminuuttia, toisella 327 ja kolmannella hän teki AHL:n yhden kauden jäähyennätyksen 551 rangaistusminuutilla.
Kaudella 2005–2006 McGrattan ansaitsi paikan Ottawan joukkueessa[3], jossa hän teki viisi pistettä ja istui 141 jäähyminuuttia. 19. marraskuuta 2005 hän teki ensimmäisen NHL-maalinsa New Jersey Devilsin maalivahti Martin Brodeurin selän taakse. Hän tappeli peräti 19 kertaa, joka oli eniten koko liigassa. Hänen tunnetuin tappelunsa oli Toronto Maple LeafsinTie Domia vastaan. McGrattan löi vastustajansa maihin yhdellä lyönnillä.
Hänen roolinsa joukkueessa väheni kahdella seuraavalla kaudella ja hän pelasi kaudella 2006–2007 45 ottelua ja sitä seuraavalla vain 38. McGrattan pääsi otsikkoihin kauden 2007–2008 puolivälissä, kun hän tappeli joukkuetoverinsa Ray Emeryn kanssa.
Phoenix, Calgary ja Nashville
25. kesäkuuta 2008 McGrattan kaupattiin Phoenix Coyotesiin, joka antoi vastineeksi viidennen kierroksen varauksen kesälle 2009.[4] Hän esiintyi vain viidessä pelissä Coyotesin paidassa. 16. lokakuuta 2009 hän teki ensimmäisen Gordie Howe -hattutempun (maali, syöttö ja tappelu).[5] Hän pelasi kauden aikana 34 ottelua ja tappeli niiden aikana 14 kertaa. Flames ei tehnyt hänen kanssaan jatkosopimusta ja hän siirtyi vapaaksi agentiksi kauden päätyttyä.[6]
McGrattan teki Boston Bruinsin kanssa try out -sopimuksen ja oli joukkueen harjoitusleirillä[6], jonka jälkeen teki vuoden mittaisen sopimuksen Bruinsin kanssa.[7] Hän kuitenkin joutui aloittamaan kauden farmissa Providence Bruinsissa. 27. helmikuuta 2011 hänet vaihdettiin yhdessä Sean Zinnermanin kanssa Anaheim Ducksiin, joka antoi Bruinsille vastineeksi David Laliberten ja Stefan Chaputin.[8] Hän joutui Anaheimissakin pelaamaan farmijoukkueessa. Hän teki kaudella oman maaliennätyksensä iskiessä yhteensä kymmenen maalia.
McGrattan aloitti kauden 2011–2012 Anaheimin organisaatiossa, mutta hänet asetettiin waiver -listalle, josta Nashville Predators poimi hänet itselleen 11. lokakuuta 2011.[9] Siirron jälkeen hänen aiemmat joukkuetoverinsa kehuivat hänen olevan hyvä kaveri ja kova työntekijä.[10] McGrattan pelasi 30 ottelua Predatorsissa mukaan lukien 200. ottelunsa Columbus Blue Jacketsia vastaan 8. joulukuuta 2012. Seuraavalla kaudella hän pelasi Nashvillessa vain kaksi ottelua, joiden jälkeen hänet siirrettiin farmijoukkue Milwaukee Admiralsiin.[11]
Vain kuuden Milwaukeessa pelatun ottelun jälkeen McGrattan vaihdettiin takaisin Flamesiin, joka antoi hänen tilalleen Joe Piskulan.[12] McGrattanilla oli positiivinen vaikutus joukkueeseen pukukopissa ja hän oli aina valmis toimimaan, joten Calgary halusi hänet. Hän toi myös fyysisyyttä Flamesin kokoonpanoon taklaten ensimmäisessä pelissään useita kertoja ja tapellessaan Tom Sestiton kanssa. Hän teki kauden 49 ottelussaan kolme maalia ja istui 49 minuuttia jäähyaitiossa. Hän teki Calgaryn kanssa kaksivuotisen jatkosopimuksen.[13]
McGrattan oli kaudella 2013–2014 Calgaryn avauskokoonpanossa koko kauden ajan pelaten 76 ottelua, mikä on hänen uransa suurin ottelumäärä yhdellä kaudella. Hän teki neljä maalia ja antoi neljä maaliin johtanutta syöttöä. Hän pelasi runkosarjan loppupuolella uransa 300. NHL-ottelun. Vaikka McGrattan tunnetaan tappelutaidoistaan, hän oli 18. tammikuuta ennen Calgaryn ja Vancouverin välistä ottelua näkyvästi esillä estäessään päävalmentajien John Tortorellan ja Bob Hartleyn välistä tappelua.