10 Movies Where “Good Guy” Actors Play the Villain

Redditor u/TXNOGG recently asked for “Movies where an actor that usually plays the good guy/hero plays an absolute piece of garbage?”

Several people agreed Matt Damon was incredible as a villain in The Talented Mr. Ripley, The Informant, and The Departed.

Additionally, Tom Cruise was praised highly for his villainous roles in Collateral, Tropic Thunder, and Interview With the Vampire.

But, the question was for actors who aren’t ordinarily bad guys, and clearly, these actors have played a villain on numerous occasions.

So, here are ten picks for the best movies where an actor who typically is a good guy becomes the evil villain.

1. Chris Evans: Knives Out (2019)

In Knives Out, Chris Evans plays a spoiled, conniving, and heartless Hugh Ransom Drysdale. He’s the grandson of the murdered wealthy mystery writer Harlan Thrombe.

Ransom happily stirs the chaotic pot to manipulate his family. Chris Evans also plays a wicked lousy guy in The Gray Man (2022).

Both roles are nothing like Steve Rogers or Captain America. But he nails them.

2. Keanu Reeves: The Watcher (2000)

In The Watcher, Keanu Reeves plays serial killer David Allen Griffin, hunting in Los Angeles, California.

Griffin targets and stalks women without family and loved ones, so their absence goes unnoticed. After discovering their routine, he strangles them with a piano wire.

Redditor BeeInLove noted, “The Watcher. Keanu Reeves and James Spader basically switched roles.”

3. Steve Carell: The Way Way Back (2013)

The Way Way Back, Steve Carrell
Image Credit: Fox Searchlight Pictures.

In The Way Way Back, Steve Carell plays Trent Ramsey, an overprotective man in a relationship with a woman named Pam (Toni Collette).

Unfortunately, he’s selfish and insensitive and takes issue with her teenage son. Ramsey is also a manipulative cheater who tries to beat up her son.

Redditor BrklnOG asked, “Who knew Steve Carrell could play a sleaze so well? Great movie.” Steve Carell is also a villain in Foxcatcher (2014).

4. Adam Sandler: Uncut Gems (2019)

In Uncut Gems, Adam Sandler plays scumbag Howard Ratner, a Jewish-American jeweler in New York City’s Diamond District.

Howard has a severe gambling problem and writes checks he can’t cash. He is in significant debt and needs to retrieve a diamond that will save his life, but he has other plans.

Redditor jla2001 announced, “Uncut Gems … omg, Adam Sandler is such a POS in that movie.”

5. Harrison Ford: What Lies Beneath (2000)

In What Lies Beneath, Harrison Ford plays Dr. Norman Spencer, an accomplished scientist, and college professor.

Spencer is an unfaithful husband with a deadly secret and stops at nothing to keep it quiet. It’s one of the more bone-chilling experiences with its supernatural twist.

Redditor steeveebeemuse exclaimed, “Upvote for What Lies Beneath. He was terrifying!”

6. Stanley Tucci: The Lovely Bones (2009)

The Lovely Bones is so sinister Stanley Tucci tried to give up the role due to the level of creepiness in the character, George Harvey. Harvey kills a 14-year-old neighbor girl after coaxing her into “a kid hideout.”

Redditor, Main_Refrigerator109, expressed, “Oh Jesus, I love Stanley Tucci’s characters. But, Lovely Bones was terrifying, eerie, and extremely creepy. It was very hard for me to watch that movie.”

7. Denzel Washington: Training Day (2001)

In Training Day, Denzel Washington plays Alonzo Harris, a ruthless and crooked LAPD narcotics officer with serious debt.

He sets up his partner and first-day trainee, Jake Hoyt (Ethan Hawke), and manipulates the people around him to pay the debt off before his number’s up.

Denzel Washington also plays the villain in American Gangster and Safe House.

SergeantChic “Denzel Washington in Training Day is the first thing that comes to mind whenever someone asks this. He knocked it out of the park.”

8. Harry Connick Jr.: Copycat (1995)

In Copycat, Harry Connick Jr. plays Daryll Lee Cullum, a serial killer who murdered several women by tying them to trees and burning them alive.

He’s escaped from the San Quentin State Penitentiary and is an ugly, nasty villain. Redditor PlaidChairStyle admits, “Copycat messed me up for days.”

9. One Hour Photo: Robin Williams (2002)

In One Hour Photo, Robin Williams plays Seymour Parrish, a lonely, creepy, and obsessive man. He becomes infatuated with the Yorkin family through developing their photos.

Seymour prints their pictures and puts them all over his walls while trying to insert himself into their family.

10. Hugh Grant: The Gentlemen (2019)

In The Gentlemen, rom-com legend Hugh Grant plays a greedy private investigator named Fletcher.

Fletcher aspires to become a screenwriter and attempts to blackmail the film’s drug-dealing gangsters for a large sum of money.

Grimm808 said, “This is the film that made me realize how wasted he was on rom coms.”