• Duff and McAvoy met through their work on Shameless
Hollywood actor McAvoy, 30, and Duff, who is nine years his senior, met in 2003 on the set of Shameless when she played McAvoy's feisty girlfriend Fiona Gallagher.
Since then, McAvoy has forged a successful Hollywood career with starring roles in movies such as Wanted, with Angelina Jolie, Atonement, and the Narnia Chronicles.
Duff has become a respected TV and theatre actress, playing the likes of Queen Elizabeth in BBC series The Virgin Queen.
The couple's spokesman Rupert Fowler said: "We are happy to confirm that James McAvoy and Anne-Marie Duff are expecting their first child. We have no further comment or information at this time."
Duff, who has been nominated for three Bafta TV awards and a Bafta Film award for Nowhere Boy, in which she played John Lennon's mother, recently said she wanted to become a mother, saying: "I would love to have a baby."
Pointing towards the sky, she added: "As soon as the big fella makes it happen, it would be brilliant. I'm not putting it off but unfortunately bodies don't work that way."
The couple, who shun the celebrity limelight, married in a low-key ceremony in October 2006.
The Last King Of Scotland star McAvoy was recently linked with the role of James Bond creator Ian Fleming in a forthcoming film.
Duff last appeared on screen as British prima ballerina Margot Fonteyn in the BBC4 film Margot.
Her stage roles have included acclaimed performances in Saint Joan and King Lear, while she will play Ariel in The Tempest and Rosalind in As You Like It in two Sam Mendes productions later this year.