Après des études secondaires à la Elk Grove High School d'Elk Grove, David Hernandez suit des études supérieures au Consumnes River Junior College, où il porte les couleurs des Hawks. Il bat les records de CRC en matière de retraits sur des prises (119 en 2005 et 224 sur deux ans en 2004-2005) et de victoires sur deux saisons (20 en 2004-2005, à égalité avec Curt Mattos en 1973-1974)[1].
Après avoir commencé la saison 2009 en Triple-A avec les Norfolk Tides[4], il fait ses débuts en Ligue majeure le 28 mai. Il enregistre à cette occasion sa première victoire au plus haut niveau[5].
Il est envoyé 74 fois au monticule par les Diamondbacks à sa première saison en Arizona et travaille durant 69 manches et un tiers. Sa moyenne de points mérités est de 3,38 avec cinq victoires, trois défaites et 11 sauvetages. Il enregistre de plus 77 retraits sur des prises. Hernandez remplace J. J. Putz dans le rôle de stoppeur lorsque ce dernier fait un séjour en juillet sur la liste des joueurs blessés pour une tendinite à l'épaule[7],[8]. Hernandez effectue des sorties en relève dans quatre des cinq matchs de Série de divisions face aux Brewers de Milwaukee. Il présente une moyenne de 3,60 points mérités alloués par partie à ses cinq premières manches lancées en séries éliminatoires.
Saison 2012
En 2012, Hernandez connaît sa meilleure saison en carrière et remet la seconde meilleure moyenne de points mérités des lanceurs des Diamondbacks : à 2,50 elle n'est que légèrement dépassée par la moyenne de 2,49 de Brad Ziegler[9]. En 72 sorties, Hernandez lance 68 manches et un tiers, enregistre 98 retraits sur des prises, gagne deux matchs contre trois défaites et réalise quatre sauvetages.
Saison 2013
Après deux bonnes années pour Arizona, Hernandez connaît une difficile saison 2013, marquée par une rétrogradation en ligues mineures[10]. Sa moyenne grimpe à 4,48 en 62 manches et un tiers lancées lors de 62 sorties. Il gagne 5 matchs contre 6 défaites, retire 66 adversaires sur des prises et réalise deux sauvetages.
Phillies de Philadelphie
Le 9 décembre 2015, Hernandez accepte le contrat de 3,9 millions de dollars pour une saison offert par les Phillies de Philadelphie[11].
En 38 matchs et 36 manches et un tiers lancées en 2017 pour les Angels, Hernandez enregistre 37 retraits sur des prises et maintient une moyenne de points mérités de 2,23.
Retour en Arizona
Hernandez retourne à l'une de ses anciennes équipes, les Diamondbacks de l'Arizona, le 31 juillet 2017 lorsque les Angels l'y échangent en retour du lanceur droitier des ligues mineures Luis Madero[13].