James McAvoy is more than just a solid comic book actor for films like Wanted and the upcoming X-Men: Days Of Future Past. He’s also got a great range, as seen in films like Trance and this film, Filth, where he plays a drug addicted British police officer.
Scheming Bruce Robertson (James McAvoy), a bigoted and corrupt policeman, is in line for a promotion and will stop at nothing to get what he wants. Enlisted to solve a brutal murder and threatened by the aspirations of his colleagues, including Ray Lennox (Jamie Bell), Bruce sets about ensuring their ruin, right under the nose of unwitting Chief Inspector Toal. As he turns his colleagues against one another by stealing their wives and exposing their secrets, Bruce starts to lose himself in a web of deceit that he can no longer control. His past is slowly catching up with him, and a missing wife, a crippling drug habit and suspicious colleagues start to take their toll on his sanity. The question is: can he keep his grip on reality long enough to disentangle himself from the filth?