Kelly Macdonald est née le 23 Février 1976 à Glasgow.
Sa carrière a pris son essor après son interprétation dans Trainspotting de Danny Boyle en 1996, face à Ewan McGregor. Elle a depuis joué une grande variété de rôles, dont celui de l'adolescente prostituée de De la part de Stella de Coky Giedroyc ou de la jeune fille qui séduit un Daniel Craig schizophrénique dans Some voices de Simon Cellan Jones. Sa prestation dans Gosford park de Robert Altman a été remarquée et récompensée.
À sa filmographie figurent aussi Cousin Bette de Des McAnuff, My life so far de Hugh Hudson, Elizabeth de Shekhar Kapur, La fin de l'innocence sexuelle de Mike Figgis, Splendor de Gregg Araki, E,tropy de Phil Joanou, House ! de Julian Kemp, Two family house de Raymond de Felitta, ou encore Strictly Sinatra de Peter Capaldi.
Elle a joué également dans Brush With Fate, dans le téléfilm de Richard Curtis, The Girl in the Café, dans Intermission de John Crowley et dans le film de Marc Forster Neverland, où elle in-carnait Peter Pan. Elle a joué également dans Tristram Shandy : A cock and bull story de Michael Winterbottom et dans la série de courts métrages All the invisible children. Elle vient d'achever le tournage de Lassie de Charles Sturridge.
Kelly Macdonald a également joué au théâtre, notamment dans Hurlyburly à l'Old Vic, dans une mise en scène de Wilson Milam. Nous la retrouvons en 2006 à l'affiche de Nanny Mc Phee de Kirk Jones. En 2008, elle joue dans Choke de Clark Gregg. En avril 2009, elle interprète le rôle de Kelly Drummond dans le premier film américain de Bertrand Tavernier : Dans la brume électrique.