Drei Jahre nachdem Frank Vega (Danny Trejo) durch seinen im Internet verbreiteten Einsatz von Zivilcourage zum Volkshelden Bad Ass mutiert ist, ist es ruhig geworden um den mittlerweile 68 Jährigen Senioren. Er betreibt eine Boxtrainings-Halle für Problem-Kinder/Jugendliche und hat ausser seinem treuen Hund nur die eine oder andere Flasche Tequila als Freund, den er am Liebsten nebenan beim grantigen Geschäftsbesitzer Bernie Pope (Danny Glover) einkauft.
Als jedoch einer seiner Schützlinge, der fast wie sein eigener Sohn für ihn war, ermordet wird, muss Frank wieder selbst für Gerechtigkeit sorgen. Der Drahtzieher dieses Mordes ist ein scheinbar unantastbarer Diplomat namens Leandro Herrera (Andrew Divoff) und ihm das Handwerk zu legen, scheint für einen Bad Ass alleine eine ziemlich unlösbare Aufgabe zu sein. Gut dass auch Bernie ein alter Haudegen ist, der für die eine oder andere schlagkräftige Aktion zu haben ist.