En 2006 le detectaron un tumor ocular a su hija. Su diagnóstico recomendaba tratarla en Argentina, por lo que de común acuerdo con el Elche volvió a su país. Tras superar satisfactoriamente su hija la primera parte del tratamiento se unió por media temporada a Arsenal de Sarandí en calidad de préstamo. Al terminar el campeonato retornó al Elche donde completó excelentes temporadas.[1]
Durante la temporada 2010/11 firmó con el Málaga Club de Fútbol por 777.000$ para cubrir una grave lesión de Sergio Asenjo, que entonces se encontraba cedido en el conjunto de la Costa del Sol.[2] Debutó el 20 de febrero de 2011 contra el Villareal con el resultado de 1-2; sin embargo superó las expectativas manteniendo su puesto, mostrando gran seguridad bajo la portería blanquiazul, lo que le valió hacerse con la titularidad.[cita requerida]
Wilfredo Caballero posee el récord de imbatibilidad del Málaga en la Primera División de España con 479 minutos sin recibir un gol. Lo consiguió en la temporada 2011/12.[3]
En la temporada 2012-13, Willy participó en diez partidos de la Liga de Campeones de la UEFA con el Málaga, llegando a los cuartos de final, siendo eliminados por el Borussia Dortmund por un global de 3-2.
Por sus sobresalientes actuaciones en diferentes partidos, Caballero ha sido considerado uno de los mejores porteros de la liga española y de Europa[4] durante las temporadas 2012-13 y 2013-14, a la par de otros grandes arqueros como Víctor Valdés, Iker Casillas o Thibaut Courtois.[5]
Con la llegada de Guardiola al banquillo del equipo de Manchester Caballero pasó a ser el portero titular por delante de Joe Hart, pero la llegada de Claudio Bravo le cerró las puertas de la titularidad de nuevo. El 19 de octubre entró al campo tras la expulsión de Bravo en la derrota 4-0 ante el F. C. Barcelona en la Liga de Campeones, y pudo pararle un penal a Neymar.[7] El año siguiente tuvo otra actuación destacada en esta competición al detener otra pena máxima a Radamel Falcao en la victoria del City por 5-3 en los octavos de final.
El 25 de mayo de 2017 se confirmó su salida del Manchester City, después de tres temporadas tras finalizar su contrato.[8]
El 1 de julio se hizo oficial su desembarco en el Chelsea F. C., una vez quedó libre de su contrato con el Manchester City.[9] Jugó su primer partido en la victoria del equipo londinense por 5-1 ante el Notthingham Forest F. C. en la Copa de la Liga. El 17 de enero de 2018 fue clave en el pase del equipo a cuartos de final de la FA Cup al parar un penalti en la tanda ante el Norwich City F. C.,[10] y dos días después debutó en Premier League con el Chelsea ante el Brighton & Hove Albion F. C. debido a la lesión de Thibaut Courtois.
El 24 de febrero de 2019 fue protagonista de un incidente en el que Kepa Arrizabalaga, portero titular del Chelsea en la final de la Copa de la Liga ante el Manchester City, se negó a ser sustituido por Caballero. El partido terminó con la derrota del Chelsea.[11]
Abandonó el club londinense al finalizar la temporada 2020-21.[12] Estuvo unos cuantos meses sin equipo, hasta que el 6 de diciembre de 2021 firmó por un mes con el Southampton F. C. debido a las bajas por lesión de sus dos guardametas.[13] El 6 de enero de 2022 se confirmó su renovación hasta final de temporada.[14]
Caballero fue luego convocado por Gerardo Martino en noviembre de 2014, para los amistosos contra las selecciones de Croacia y Portugal. Caballero fue llamado nuevamente a la selección casi 4 años más tarde por Jorge Sampaoli, para disputar los partidos amistosos previos a la Copa Mundial de Fútbol de 2018, y realizó su debut en la victoria de la albiceleste por 2-0 frente a Italia el 23 de marzo, siendo la figura destacada del encuentro con 4 atajadas fundamentales, aunque más tarde tuvo un notable bajo rendimiento en el segundo encuentro de la albiceleste por fecha FIFA ante España, donde la selección argentina recibió un duró golpe en la antesala del Mundial al ser goleada por seis tantos, uno de los peores resultados a nivel internacional de la selección.
Si bien la titularidad era de Sergio Romero, la lesión de este último en la rodilla derecha hizo que el 22 de mayo de 2018, Chiquito quedara desafectado del primer equipo abriendo la posibilidad para Caballero (Nahuel Guzmán pasó a ser suplente). Fue uno de los más discutidos del equipo de Jorge Sampaoli en la previa del Mundial, particularmente por el buen nivel que venía mostrando Franco Armani en la Superliga Argentina como arquero titular de River Plate, pero el entrenador argentino prefirió a Caballero debido a su experiencia como guardameta en equipos europeos. Los cuestionamientos alcanzaron su pico cuando Caballero cometió un increíble error ante Croacia que le permitió al delantero Ante Rebić marcar el primer gol sobre Argentina, en un 0-3 final que comprometió la permanencia de la albiceleste en la cita mundialista. Llegó a recibir amenazas para él y su familia,[20] lo que se vio compensado por muestras de apoyo de muchos excompañeros y jugadores como Chilavert, Burdisso, Courtois, Higuita, Claudio Bravo,[21] y hasta incluso el mismo Armani, quien le manifestó públicamente su apoyo.
"Visto la camiseta de Argentina con los valores que aprendí en mi hogar y creciendo en el fútbol. Gracias a los que están siempre conmigo y con mi familia", culminó el deportista.[20]
Después de la derrota frente a Croacia, Willy Caballero no volvió a ocupar el arco argentino, y fue sustituido por Franco Armani en la agónica victoria ante Nigeria, y en la derrota por 4 a 3 frente a Francia en los octavos de final.[22]