Hernández spielte zunächst für Central Español in Uruguays höchster Spielklasse, der Primera División Profesional de Uruguay. Dort kam er in den Spielzeiten 2006/07 und 2007/08 zu sechs bzw. 24 Einsätzen und erzielte in seiner zweiten Saison je nach Quellenlage neun[1] oder zwölf[2] Treffer. 2008 wechselte er dann zu Peñarol Montevideo und schoss für die Aurinegros drei Tore in acht Spielen.[3] Anfang Februar 2009 erfolgte sein Transfer zum derzeitigen sizilianischen Verein. Abel Hernández unterzeichnete bei Palermo einen Vertrag bis 2013.[4] In seiner ersten Saison, sein Debüt für Palermo in der Serie A gab er am 15. März 2009 gegen die US Lecce, absolvierte er insgesamt sechs Partien in der höchsten italienischen Spielklasse, in denen ihm kein Treffer gelang. In der Saison 2009/10 kam der Angreifer vermehrt zum Einsatz. In der Partie gegen Inter Mailand am 29. Oktober 2009 traf er erstmals ins gegnerische Tor, die „Nerazzurri“ gewannen im Giuseppe-Meazza-Stadion mit 5:3. Bis zum Saisonende konnte der Stürmer insgesamt sieben Torerfolge in 21 Partien in der Serie A aufweisen. 22 Spiele mit drei Toren und 20 Begegnungen mit sechs erzielten Treffern lautete seine Bilanz in den beiden folgenden Spielzeiten. Bis Abschluss der Spielzeit 2010/11 sind zudem vier Pokaleinsätze (1 Tor) und vier Europapokalbegegnungen der Saison 2010/11 mit vier Toren hinterlegt.[5] Am Ende der Saison 2012/13, in der er 14-mal auflief (ein Tor), stieg er mit Palermo in die Serie B ab. In der Spielzeit 2013/14 absolvierte er bis zu seinem letzten Einsatz am 13. Mai 2014 28 Spiele und erzielte 14 Treffer. Insgesamt bestritt er somit für die Sizilianer bislang 111 Ligaspiele (31 Tore).[6]
Anfang September schloss sich Abel Hernández dem englischen Erstligisten Hull City an. Dort unterschrieb er einen Dreijahresvertrag mit vereinsseitiger Verlängerungsoption um ein weiteres Jahr. Die Ablösesumme soll zehn Millionen Pfund Sterling betragen haben. Dies war er zum Zeitpunkt des Transfers die höchste gezahlte Ablösesumme in der Vereinsgeschichte des Klubs aus der Grafschaft Yorkshire.[7] Sein Debüt in der Premier League feierte er am 15. September 2014 gegen West Ham United. In diesem Spiel erzielte er direkt seinen ersten Ligatreffer. In der Spielzeit 2014/15, die Hull City als Tabellen-18. mit dem Abstieg beendete, wurde er insgesamt 25-mal in der Premier League eingesetzt und schoss vier Tore. Dabei kam er insbesondere in der zweiten Saisonhälfte überwiegend nur noch als Einwechselspieler zum Zug.[8] In der Zweitligasaison 2015/16 lief er in 42 Ligaspielen auf und traf 21-mal. Hinzu kommt ein Tor bei drei League-Cup-Einsätzen in jener Saison. Sein Klub stieg als Tabellenvierter der Football League Championship und Sieger der anschließenden Play-offs in die Premier League auf. In der folgenden Erstligaspielzeit traf er bei 24 Einsätzen viermal ins gegnerische Tor und konnte mit seiner Mannschaft den sofortigen Wiederabstieg nicht verhindern.[9]
Hernández gehörte dem uruguayischen Aufgebot beim olympischen Fußballturnier der Olympischen Spiele 2012 an. In der uruguayischen Olympiamannschaft debütierte er am 11. Juli 2012 beim 6:4-Sieg gegen Chile. Drei Länderspiele und ein Treffer stehen für ihn in dieser Auswahlmannschaft zu Buche.[13]
Insgesamt bestritt er bislang 25 Länderspiele, bei denen er zehn Tore erzielte. Der letzte Einsatz in der Celeste datiert vom 12. November 2015.[16][17]