McAvoy var i et forhold med den skotske skuespilleren Emma Nielsen i seks år frem til 2003, før McAvoy ble sammen med skuespillerinne Anne-Marie Duff, som er ni år eldre. Paret giftet seg den 18. oktober 2006 under en privat seremoni. De har en sønn sammen, som ble født i 2010. I februar 2007 besøkte McAvoy Nord-Uganda og tilbrakte fire dager med å se prosjekter som støttes av det britiske Røde Kors. Skuespilleren besøkte blant annet flyktningsleir for internt fordrevne, som ble tvunget til å flykte fra hjemmene sine.