Mitchell then took the title roles in Woody Allen's Melinda and Melinda (2004), alongside Chloë Sevigny, followed by a part with Josh Hartnett in Mozart and the Whale and then starred in the film adaptation of the video game Silent Hill, which co-starred Laurie Holden and Sean Bean. Though the horror film received mixed reviews from critics, it opened number one at the box office with over $20 million in box office sales. In 2008, Mitchell starred in Rogue with Michael Vartan, as well as Henry Poole Is Here opposite Luke Wilson and The Children of Huang Shi opposite Jonathan Rhys-Meyers.