Musicien et acteur, John Hawkes crée une compagnie de théâtre et joue dans sa première pièce, "In the West", à Washington. Il multiplie les petits rôles au cinéma à partir de 1987, à commencer par Murder Rap. En 1997, il côtoie David Duchovny dans Playing God puis enchaîne les seconds rôles : Souviens-toi... l'été dernier 2 (1998), A Slipping-down life (1999) et En pleine tempête (2000). Dans le thriller psychologique Identity (2003), il incarne le gérant d'un hôtel isolé où se déroulent de nombreux meurtres par une nuit d'orage.
Sur le petit écran, John Hawkes participe aux séries à succès Urgences (1997), X-Files : Aux frontières du réel (1999) et The Practice (2000), avant d'obtenir l'un des premiers rôles dans la mini-série Disparition (2002) produite par Steven Spielberg, puis dans la série western Deadwood (2004), et dans Lost, les disparus.
Sa carrière se poursuit avec le succès critique de Moi, toi et tous les autres (2004) et une participation à Petits suicides entre amis (2005). Hawkes tourne sous la direction de Ridley Scott dans American Gangster (2007) et tient, deux ans plus tard, le premier rôle de Earthwork de Chris Ordal. Toujours en 2009, il figure au générique de Tender as Hellfire, avant de jouer l'inquiétant oncle de Jennifer Lawrence dans Winter's Bone (2011) qui lui permet d'être nominé à l'Oscar du meilleur acteur dans un second rôle.
Côté petite lucarne, John Hawkes campe de 2009 à 2013 le frère sérieux de l'ex-joueur de baseball arrogant et trash Kenny Powers dans l'hilarante série HBO du même nom. Mais le comédien reste plus à l'aise au cinéma. En témoignent ses prestations du chef d'une secte dans Martha Marcy May Marlene qui terrorise tant Elizabeth Olsen et d'un homme paralysé qui goûte aux joies de l'amour grâce à une thérapeute spécialiste des rapports sexuels (Helen Hunt).
Preuve que les rôles physiques ne lui font pas peur, John Hawkes prend en 2015 part au film d'aventure Everest qui retrace le désastre de 1996 dans lequel huit alpinistes réputés ont péri dans une redoutable tempête.