The most powerful negative roles played by Bollywood actors include Ranveer Singh as Alauddin Khilji in Padmaavat, Nawazuddin Siddiqui in Raman Raghav 2.0, Sanjay Dutt as Kaancha Cheena in Agneepath and Tigmanshu Dhulia as Ramadhir Singh in Gangs of Wasseypur. Newer additions are Bobby Deol in Animal and Akshaye Khanna in Chhaava and Dhurandhar.
A good villain gives the hero something real to fight against, and the best ones stay with you longer than the film itself. The list below covers actors who played against type or built a character so strong it changed how audiences saw them. We have updated it with the biggest villain performances of 2023 to 2025.
Quick facts: Bollywood’s most powerful negative roles
| Actor | Film (Year) | Character |
|---|---|---|
| Ranveer Singh | Padmaavat (2018) | Alauddin Khilji |
| Akshay Kumar | 2.0 (2018) | Pakshi Rajan |
| Vishal Jethwa | Mardaani 2 (2019) | Sunny |
| Nawazuddin Siddiqui | Raman Raghav 2.0 (2016) | Ramanna |
| Vivek Oberoi | Krrish 3 (2013) | Kaal |
| Sanjay Dutt | Agneepath (2012) | Kaancha Cheena |
| Riteish Deshmukh | Ek Villain (2014) | Rakesh Mahadkar |
| Tigmanshu Dhulia | Gangs of Wasseypur (2012) | Ramadhir Singh |
| Bobby Deol | Animal (2023) | Abrar Haque |
| Akshaye Khanna | Chhaava (2025), Dhurandhar (2025) | Aurangzeb, Rehman Dakait |
10 powerful negative roles played by Bollywood actors
1. Ranveer Singh as Alauddin Khilji, Padmaavat (2018)
Sanjay Leela Bhansali cast Ranveer as the obsessive, power-hungry Sultan, and the actor went all in: the kohl-lined eyes, the unpredictable body language and the way he eats. It was a risky move for a leading man and it paid off with major awards. Padmaavat streams on Prime Video.
2. Akshay Kumar as Pakshi Rajan, 2.0 (2018)
In Shankar’s sci-fi film opposite Rajinikanth, Akshay played an ornithologist who turns into a giant bird-like force after his campaign to save birds from mobile radiation fails. The role needed hours of prosthetic make-up every day. Akshay had played villains before, notably in Ajnabee (2001), but this was his biggest.
3. Vishal Jethwa as Sunny, Mardaani 2 (2019)
In his first big Bollywood role, Vishal Jethwa played a young serial offender who taunts Rani Mukerji’s cop Shivani Shivaji Roy. His calm, cocky menace drew strong reviews. He has since moved to lead roles, and his 2025 film Homebound was India’s official Oscar entry and made the International Feature shortlist.
4. Nawazuddin Siddiqui as Ramanna, Raman Raghav 2.0 (2016)
Anurag Kashyap’s film follows a serial killer inspired by the real Raman Raghav, who terrorised Bombay in the 1960s. Nawazuddin plays him with a disturbing ease, and Vicky Kaushal plays the cop chasing him. Nawazuddin has spoken about how hard it was to shake off the role.
5. Vivek Oberoi as Kaal, Krrish 3 (2013)
Vivek played Kaal, a scientist confined to a wheelchair who creates an army of mutants and plans to profit from a deadly virus. Rakesh Roshan’s superhero film gave him a big-screen comeback, and he later played villains in South Indian films such as Lucifer (2019).

6. Sanjay Dutt as Kaancha Cheena, Agneepath (2012)
Karan Malhotra’s remake gave Sanjay Dutt the role Danny Denzongpa played in the 1990 original. With a shaved head and heavy frame, his Kaancha was cold and philosophical. The role pushed Dutt into a new phase as a screen villain, which continued with Adheera in KGF: Chapter 2 (2022).
7. Riteish Deshmukh as Rakesh Mahadkar, Ek Villain (2014)
Riteish was known mostly for comedies when Mohit Suri cast him as a mild-mannered telecom employee who is secretly a killer. Audiences did not expect it, and his performance became the most talked-about part of the film.
8. Tigmanshu Dhulia as Ramadhir Singh, Gangs of Wasseypur (2012)
Better known as a director, Tigmanshu Dhulia played the scheming politician who drives the feud across both parts of Anurag Kashyap’s saga. His dry, deadpan delivery made the character both funny and frightening. Ramadhir Singh is often named among Bollywood’s best modern villains.
9. Bobby Deol as Abrar Haque, Animal (2023)
Bobby Deol had limited screen time and played a mute character in Sandeep Reddy Vanga’s Animal, yet his mute, brutal Abrar became the film’s most talked-about character. His entry scene went viral and revived his career. Animal streams on Netflix.
10. Akshaye Khanna as Aurangzeb and Rehman Dakait (2025)
Akshaye Khanna had two major villain turns in 2025. He played the Mughal emperor Aurangzeb in Laxman Utekar’s Chhaava, opposite Vicky Kaushal, and the Baloch gang leader Rehman Dakait in Aditya Dhar’s Dhurandhar, opposite Ranveer Singh. Dhurandhar grossed over Rs 1,350 crore worldwide and Khanna won the Screen Award for Best Supporting Actor. Both films stream on Netflix.
For more on these actors and films, see our Bollywood section and celebs coverage.
What makes a great Bollywood villain
The roles on this list share one thing: the actor did not play the villain as a cartoon. Khilji’s hunger, Ramanna’s calm and Rehman Dakait’s stillness all feel specific. Many of these actors were also cast against their image, which made the performances more surprising.

Frequently asked questions
Who played the best negative role in Bollywood recently?
Akshaye Khanna’s Rehman Dakait in Dhurandhar (2025) and Bobby Deol’s Abrar in Animal (2023) are the most praised recent villain performances.
Which Bollywood heroes have played villains?
Ranveer Singh (Padmaavat), Akshay Kumar (2.0), Riteish Deshmukh (Ek Villain) and Vivek Oberoi (Krrish 3) all played villains despite being known as leading men.
Where can I watch Dhurandhar on OTT?
Dhurandhar streams on Netflix from 30 January 2026. An uncut version began streaming on Netflix and JioHotstar on 22 May 2026.
Who played Kaancha Cheena in Agneepath?
Danny Denzongpa played Kaancha Cheena in the 1990 Agneepath, and Sanjay Dutt played him in the 2012 remake.
Sources: Wikipedia: Dhurandhar, IANS on Vishal Jethwa and Homebound, Wikipedia: Animal.











