On 31 July 2008, he signed a four-year contract with Zenit Saint Petersburg. He took part in the team's victory in the 2008 UEFA Super Cup, but struggled to hold down a regular first-team berth. As Portuguese centre-halves Bruno Alves and Fernando Meira joined the club, it became increasingly evident that Puygrenier's future lay outside of Saint Petersburg, and a string of loan deals followed - firstly to Bolton Wanderers and then two spells at AS Monaco in Ligue 1. After failing to impress in France, Monaco declined the option to recruit Puygrenier permanently, and he returned to Zenit who made it known that he was instantly available for transfer, even being described as 'definitely a mistake of our scouts' by general director Maxim Mitrofanov, who also criticised the defender for refusing to lower his wage demands in order to engineer a move away from the club despite having no prospects of achieving any playing time and not being considered a part of the Zenit squad by manager Luciano Spalletti.