Hall's first professional role came in 1992, when she appeared as young Sophy in her father's television adaptation of Mary Wesley's The Camomile Lawn at the age of nine.
Her feature film debut came in 2006 as Rebecca Epstein in the film adaptation of David Nicholls's Starter for Ten.
She got her breakthrough with the role of Sarah Borden in Christopher Nolan's film The Prestige (2006).
She then appeared in Stephen Poliakoff's Joe's Palace in 2007, as well as appearing in several other television films including Wide Sargasso Sea and Rubberheart.

Hall's Hollywood fame grew when she starred in the Woody Allen film Vicky Cristina Barcelona (2008) as one of the title characters, Vicky.
Her performance was well-received, and she was nominated for the Golden Globe Award for Best Actress – Motion Picture Musical or Comedy.
In 2008, she appeared in Ron Howard's historical drama Frost/Nixon as the girlfriend of Michael Sheen's David Frost.
The following year she was cast in the British fantasy-horror film Dorian Gray based on Oscar Wilde's 1890 novel The Picture of Dorian Gray.

Following a small role in the indie film Please Give, Hall starred in Ben Affleck's crime drama The Town (2010) opposite Affleck and Jon Hamm.
In June 2010, she won the British Academy Television Award for Best Supporting Actress for her portrayal of Paula Garland in the 2009 Channel 4 production Red Riding: In the Year of Our Lord 1974.
The following year she played the female lead in the British ghost film The Awakening, released in September 2011.

In 2012, she took on the role of Beth Raymer in the comedy-drama film Lay the Favourite, based on Raymer's memoir of the same title; one review commented that she "plays Raymer as an endearing force of nature who somehow manages to survive in a dangerous world through sheer force of character."
She next starred in the BBC/HBO/VRT production of Parade's End (2012) opposite Benedict Cumberbatch, which earned her a BAFTA Television Award nomination for Best Actress.
In 2013, Hall replaced Jessica Chastain as Maya Hansen in the superhero film Iron Man 3.
The same year she appeared in the political thriller Closed Circuit (2013).
She then starred opposite Johnny Depp in Wally Pfister's directorial debut Transcendence (2014).
In 2015, Hall starred in the romantic comedy Tumbledown and Joel Edgerton's directorial debut The Gift.

In the 2016 biographical drama Christine, Hall played the role of real-life news reporter Christine Chubbuck.
Variety called her "discomfitingly electric in the best role she's yet been offered".

In 2017, Hall joined the cast of A Rainy Day in New York, re-teaming her with Woody Allen.
In January 2018, Hall donated her salary to Time's Up after re-reading sexual abuse allegation against Woody Allen stating: “I see not only how complicated this matter is, but that my actions have made another woman feel silenced and dismissed.
I regret this decision and wouldn’t make the same one today.”
Hall's first professional role came in 1992, when she appeared as young Sophy in her father's television adaptation of Mary Wesley's The Camomile Lawn at the age of nine. Her feature film debut came in 2006 as Rebecca Epstein in the film adaptation of David Nicholls's Starter for Ten. She got her breakthrough with the role of Sarah Borden in Christopher Nolan's film The Prestige (2006). She then appeared in Stephen Poliakoff's Joe's Palace in 2007, as well as appearing in several other television films including Wide Sargasso Sea and Rubberheart.
Hall's Hollywood fame grew when she starred in the Woody Allen film Vicky Cristina Barcelona (2008) as one of the title characters, Vicky. Her performance was well-received, and she was nominated for the Golden Globe Award for Best Actress – Motion Picture Musical or Comedy. In 2008, she appeared in Ron Howard's historical drama Frost/Nixon as the girlfriend of Michael Sheen's David Frost. The following year she was cast in the British fantasy-horror film Dorian Gray based on Oscar Wilde's 1890 novel The Picture of Dorian Gray.
Following a small role in the indie film Please Give, Hall starred in Ben Affleck's crime drama The Town (2010) opposite Affleck and Jon Hamm. In June 2010, she won the British Academy Television Award for Best Supporting Actress for her portrayal of Paula Garland in the 2009 Channel 4 production Red Riding: In the Year of Our Lord 1974. The following year she played the female lead in the British ghost film The Awakening, released in September 2011.
In 2012, she took on the role of Beth Raymer in the comedy-drama film Lay the Favourite, based on Raymer's memoir of the same title; one review commented that she "plays Raymer as an endearing force of nature who somehow manages to survive in a dangerous world through sheer force of character." She next starred in the BBC/HBO/VRT production of Parade's End (2012) opposite Benedict Cumberbatch, which earned her a BAFTA Television Award nomination for Best Actress. In 2013, Hall replaced Jessica Chastain as Maya Hansen in the superhero film Iron Man 3. The same year she appeared in the political thriller Closed Circuit (2013). She then starred opposite Johnny Depp in Wally Pfister's directorial debut Transcendence (2014). In 2015, Hall starred in the romantic comedy Tumbledown and Joel Edgerton's directorial debut The Gift.
In the 2016 biographical drama Christine, Hall played the role of real-life news reporter Christine Chubbuck. Variety called her "discomfitingly electric in the best role she's yet been offered". 
In 2017, Hall joined the cast of A Rainy Day in New York, re-teaming her with Woody Allen. In January 2018, Hall donated her salary to Time's Up after re-reading sexual abuse allegation against Woody Allen stating: “I see not only how complicated this matter is, but that my actions have made another woman feel silenced and dismissed. I regret this decision and wouldn’t make the same one today.”
Rebecca Hall