Natural de San Sebastián, se formó como miembro de la Accademia Rossiniana con el maestro Alberto Zedda, haciendo su debut internacional con él interpretando el rol de Belfiore (Il viaggio a Reims) en 2016. Desde entonces ha cantado en numerosos teatros y auditorios, como la Opéra National de París, Teatro Real de Madrid, ABAO de Bilbao, Staatsoper de Hamburgo, Théâtre des Champs Élysées de París, Teatro Filarmonico de Verona, Musikverein de Viena, Teatro Regio de Turín y Teatro Regio de Parma. Su repertorio comprende los roles de Nemorino (L'elisir d'amore), Lord Arturo (I puritani), Edgardo (Lucia di Lammermoor), Ramiro (La Cenerentola), conde de Almaviva (Il barbiere di Siviglia) y Lindoro (L'italiana in Algeri), entre otros. Ha sido distinguido con galardones como el primer premio del concurso Operalia (2019), un International Opera Award, así como los premios Ópera Actual y Opéra XXI.
Debuta escénicamente en el Gran Teatre del Liceu, aunque participó en el concierto «Del dolor a la esperanza» (2020/21). También ha actuado en el Gran Teatre del Liceu como Ernesto en Don Pasquale (2022-23), en La Traviata (2024-25) en el rol de Alfredo Germont y en La Sonnambula (2024-25) en el rol de Elvino.