Bernat wurde in Cullera, einer kleinen Stadt in der Valencianischen Gemeinschaft, geboren. Er begann in der Jugendabteilung des FC Valencia mit dem Fußballspielen. Im Alter von 17 Jahren debütierte er in der zweiten Mannschaft, auch Mestalla genannt, in der viertklassigen Tercera División und half beim Aufstieg in die Segunda División B. In der Vorbereitung zur Saison 2011/12 trainierte er mit der ersten Mannschaft und unterschrieb kurz darauf einen Profivertrag bis 2015.
Am 27. August 2011 gab Bernat beim 4:3-Sieg über Racing Santander sein Debüt in der Primera División. In seiner ersten Profisaison wurde er – noch als Spieler der zweiten Mannschaft – in sieben Ligaspielen und einem Pokalspiel eingesetzt. Außerdem kam er Anfang 2012 mit zwei Einsätzen gegen Stoke City und PSV Eindhoven auch zu seinen ersten internationalen Einsätzen in der Europa League.
In der Saison 2012/13 bestritt er zwölf Ligaspiele; in der vierten Runde des Copa del Rey erzielte er zudem sein erstes Tor. Nachdem er zuvor meist im Mittelfeld eingesetzt worden war, gelang ihm in der Spielzeit 2013/14 sein Durchbruch als linker Außenverteidiger. Mit 32 Ligaeinsätzen (ein Tor) und 13 Spielen (ein Tor) in der Europa League avancierte er zum Stammspieler auf dieser Position. Mit seiner Mannschaft scheiterte er im Europapokal erst im Halbfinale am FC Sevilla.
FC Bayern München
Im Sommer 2014 verpflichtete ihn der deutsche Rekordmeister FC Bayern München, der den Juniorennationalspieler mit einem bis zum 30. Juni 2019 gültigen Vertrag ausstattete.[1] Sein erstes Pflichtspiel absolvierte er am 13. August 2014 bei der 0:2-Niederlage gegen Borussia Dortmund im Spiel um den DFL-Supercup. In der Bundesliga debütierte er am 22. August 2014 (1. Spieltag) beim 2:1-Sieg im Heimspiel gegen den VfL Wolfsburg. Beim Rückspiel in Wolfsburg am 30. Januar 2015 (18. Spieltag) erzielte er bei der 1:4-Niederlage sein erstes Tor für die Münchner mit dem Treffer zum 1:3 in der 55. Minute.[2] Am 20. Oktober 2015 zog sich er im Spiel gegen den FC Arsenal einen Muskelbündelriss zu und fiel für längere Zeit aus. Am 31. Januar 2016 kam er zu seinem Comeback, als er gegen die TSG 1899 Hoffenheim in der 88. Minute für Douglas Costa eingewechselt wurde. Sein Startelf-Comeback gab er schließlich am 14. Februar 2016 beim 3:1-Sieg im Auswärtsspiel gegen den FC Augsburg.
Am 13. September 2016 erzielte er mit dem Treffer zum 5:0-Endstand gegen FK Rostow sein erstes Tor in der Champions League. Am 1. Oktober 2016 (6. Spieltag) bestritt er beim 1:1-Unentschieden im Heimspiel gegen den 1. FC Köln sein 50. Bundesligaspiel. Ende Juli 2017 zog er sich während der Saisonvorbereitung in Asien einen Riss der Syndesmose zu und musste mehr als drei Monate pausieren.[3] Sein erneutes Comeback gab er am 18. November 2017 beim 3:0-Sieg im Heimspiel gegen den FC Augsburg.[4]
Im April 2018 spielte der FC Bayern München in der Champions League gegen den spanischen Verein FC Sevilla und setzte sich durch. Bernat zeigte beim Hinspiel am 3. April 2018 in Sevilla, welches zwar mit 1:2 gewonnen wurde, aber eine schwache Leistung. Uli Hoeneß kommentierte dies in einer späteren Pressekonferenz, dass Bayern allein wegen Bernat fast ausgeschieden wäre und an diesem Tag die Entscheidung gefallen sei, ihn vorzeitig abzugeben.
Paris Saint-Germain
Bernat wechselte am 31. August 2018 zum französischenErstligistenParis Saint-Germain, bei dem er einen bis zum 30. Juni 2021 laufenden Vertrag unterzeichnete.[5] Am 14. September gab er beim 4:0-Sieg über Saint-Étienne sein Debüt für den amtierenden und von Thomas Tuchel seit Saisonbeginn 2018/19 trainierten Meister.[6] Am 23. August 2020 stand Bernat gegen seinen ehemaligen Verein FC Bayern im Champions-League-Finale. Er unterlag mit PSG 0:1. Beim Ligaspiel gegen den FC Metz zog er sich am 16. September 2020 einen Kreuzbandriss zu.[7]
Im September 2023 wurde er an Benfica Lissabon verliehen.[8] Nach der Leihe kehrte er wieder zu PSG zurück. Im August 2024 folgte eine Leihe zum FC Villarreal.[9]