19 Versatile Actors Who People Think Are Equally Good At Playing Villains And Heroes

    Some actors play the same characters over and over, and then there's Charlize Theron.

    There's nothing better than an actor who's got *the range*.

    So, when Reddit user u/phantom_avenger asked the wonderful people of r/Movies, "which actors are good at playing the hero AND the villain?", we thought I'd round up some of my favourite answers...

    1. David Tennant

    2. Rosamund Pike

    3. Idris Elba

    4. Stephen Root

    5. Laura Linney

    6. Benedict Cumberbatch

    7. Ralph Fiennes

    8. Margo Martindale

    9. Samuel L. Jackson

    10. Chris Evans

    11. Melanie Lynsky

    12. Anthony Hopkins

    13. Jodie Foster

    14. Tom Hardy

    15. Olivia Colman

    16. Margot Robbie

    17. Denzel Washington

    18. Cate Blanchett

    19. David Boreanz

    20. Daniel Radcliffe

    21. Charlize Theron

    Note: submissions have been edited for length/clarity.

    Which actors do you think deserve to be on this list? Tell us about them and their versatile performances in the comments below!