Zárate started his career with Vélez Sarsfield in his native country, playing three years for the team and winning the Primera División title in the 2005 Clausura tournament. He later signed for Qatari side Al-Sadd in 2007, where he played only six months before transferring on loan to Birmingham City in England. However, after Birmingham's relegation, Zárate was loaned out again, this time to Lazio in Italy, where he won the Coppa Italia. His move to Lazio was then made permanent for a fee of around €20 million, with a €60 million buy-out clause. After a loan at Inter Milan and a brief return to Vélez Sarsfield, he joined West Ham United in 2014, spending the second half of his first season on loan at Queens Park Rangers. In January 2016, Zárate joined Italian club Fiorentina. A year later, he joined Watford of the English Premier League on a two-and-a-half-year, £2.3 million deal.