Davis è nato a Highgate, Londra, e cresciuto a South Ockendon a Thurrock, Essex. Suo padre lavorava per Procter & Gamble, in una fabbrica di sapone, e sua madre era un supervisore della sala da pranzo dell'ospedale. Si è interessato alla recitazione all'età di otto anni. È stato membro del National Youth Theatre e del Joan Littlewood's Theatre Workshop.
Nel 1977, è stato scelto come protagonista per la commedia Gotcha!. Uno dei suoi primi ruoli cinematografici fu quello di Chalky in Quadrophenia (1979). Ha poi recitato in The Bounty (1984). Il co-protagonista Daniel Day-Lewis in seguito lo ha classificato come una delle sue più grandi fonti di ispirazione. È apparso nella serie TV To Have and to Hold con Amanda Redman. Ha iniziato una lunga collaborazione con Mike Leigh. Nel 1989, ha recitato al fianco di Gary Oldman nel film della BBC sulla violenza calcistica The Firm.[1]
Nel 2004 Davis ha interpretato Stanley in Il segreto di Vera Drake (2004), interpretazione per la quale è stato premiato ai British Independent Film Awards nella categoria Miglior attore.[2] Ha interpretato Smallweed nell'adattamento della BBC del romanzo di Charles DickensCasa DesolataBelle speranze (2005), e come Jeff Hope, nel primo episodio di Sherlock (2010). Nel 2012, ha interpretato l'avvocato Micky Joy in Silk, poi nel 2015 come Jud, il servo malvagio in Poldark al fianco di Aidan Turner ed Eleanor Tomlinson.[3] Nel 2017, Davis ha interpretato un ruolo principale come DI Ray Miles nella serie in quattro parti di ITVWhitechapel al fianco di Rupert Penry Jones e Steve Pemberton.[4] Dal novembre 2017 al febbraio 2018, ha interpretato Ebenezer Scrooge nel nuovo adattamento di David Edgar di A Christmas Carol alla Royal Shakespeare Company.[5]
Davis ha sposato l'attrice Eve Matheson a Hackney, Londra nel 2002.[6] Hanno una figlia, Amy Elisabeth (nata nel 2002). Davis ha anche un figlio, Hugo (nato nel 1996), da una precedente relazione.[7]