Nicknamed La Joya, he started his professional career with Uruguayan side Central Español, immediately scoring five goals in his first four games. He was subsequently acquired by Peñarol, where he established himself as a regular and also gained a spot into the Under-20 Uruguayan side.
On 2 February 2009 Italian Serie A club Palermo completed the signing of Hernández, where he joined fellow Uruguayan Edinson Cavani. He was presented by Palermo only one month later, due to some health concerns regarding a cardiac arrhythmia that led to a small surgical intervention. He made his first team debut on 15 March, replacing Edinson Cavani in the final minutes of a 5–2 home win to Lecce. He then won the Trofeo Giacinto Facchetti with the Primavera under-19 team in June 2009.
Hernández signed for English club Hull City on 1 September 2014 for a club record £10 million on a three-year contract, with the club having an option for a fourth year. Two weeks later he made his debut at the KC Stadium, and scored the first goal of a 2–2 draw with West Ham United. In his next home game against Manchester City he won a penalty after being fouled in the area by Eliaquim Mangala which he went on to score in an eventual 4–2 defeat. His next goal came when he put his team into the lead during a hard fought 2-2 away draw against Arsenal.