Zalayeta began his club career with Danubio before moving to Peñarol for a season in 1997, where he won the Uruguayan Primera División and the Uruguayan Liguilla Cup. Later that year, he was acquired by Italian club Juventus, where he remained for ten seasons, winning three Serie A titles and reaching the 2003 UEFA Champions League Final, although he was sent on several loan spells with Empoli, Spanish side Sevilla and Perugia during his time at the Turin club, due to heavy competition from other strikers in the team's line-up. He moved to Napoli in 2007, where he remained for three more seasons, aside from a loan spell with Bologna during the 2009–10 season. After his time in Italy, he later spent a season with Turkish side Kayserispor, before returning to his home nation to play for Peñarol once again, winning the Uruguayan Primera División for a second time in 2013, before retiring in 2016.