Silvestre began his career with Argentine club Boca Juniors, where he would go on to make his league debut on 23 March 2003 in a 3–1 win over Lanús. Silvestre soon was inserted into the Boca Juniors starting line-up and between 2003 and 2007, he went on to make 63 league appearances, scoring six goals. He was used as both a central defender and a right full-back during his spell with the club. Following an impressive 2007 season of the club, Silvestre was transferred to Catania in the Serie A.
Catania
During the 2008 January transfer window, Silvestre transferred to Sicilian club Catania on loan. His first six months at Catania was not so great as he was not part of then-coach Silvio Baldini's starting team, making just 11 appearances, just five as a starter. However, his loan was nonetheless made permanent in the summer of 2008 for €2.043 million after Walter Zenga was appointed head coach, following the sacking of Baldini. He soon became an instrumental part of Catania's first team and was a major influence on their fairly successful 2008–09 season as the club avoided relegation for the third consecutive season. Silvestre continued to shine during his third season in Sicily as the defender went on to make more appearances than any of his teammates during the 2009–10 campaign. He formed a solid defensive line-up with the likes of Pablo Álvarez, Nicolás Spolli, Christian Terlizzi and Ciro Capuano as Catania recorded their record-breaking points total in Serie A, finishing in 13th place with just 45 goals conceded in 38 matches. During the 2010–11 Serie A campaign, Silvestre earned captaincy at the Sicilian club, following the sale of Giuseppe Mascara to Napoli on 31 January 2011. He has made 116 total appearances for his club, scoring seven goals, six of which have come during the 2010–11 Serie A season, a season which recorded a third consecutive record points total for the Sicilian club. On 9 July 2011, Marco Biagianti was assigned captaincy of the club for the 2011–12 Serie A season.
On 8 August 2011, Silvestre moved to Palermo for €7 million in a four-year contract, with Davide Lanzafame moving in the opposite direction in co-ownership deal for €1 million. Silvestre debuted for the Rosanero on 11 September 2011 in the 4–3 victory against Internazionale, on the second day of the season. He scored his first Palermo goal in a 3–1 win over Bologna on the 11th matchday of Serie A, making the score 2–0. On 19 February 2012, in Palermo's 4–1 win over Siena, Silvestre suffered an injury to his right thigh, forcing him to leave the match. Nearly two months later, on 22 April, Silvestre returned to the pitch in Palermo's 2–2 draw with Cesena. In the second-last match of the Serie A season, on 6 May, Silvestre scored in Palermo's 4–4 draw with Chievo. He finished the season with 4 goals from 28 appearances.
Internazionale
On 6 July 2012, Palermo loaned Silvestre to Internazionale for €3 million, with an obligation to purchase outright for €6 million. Silvestre was issued shirt number 6. Silvestre made his Nerazzurri debut in the third qualifying round of the 2012–13 UEFA Europa League against Hajduk Split, a 3–0 away win. On 28 April 2013, in Inter's 1–0 defeat to Palermo, Silvestre incurred an injury to his right thigh, prematurely ending his season, making 20 total appearances.
On 30 July 2013, Silvestre was loaned for one year to Inter's rivals Milan for €1 million, with an option to purchase him outright at end of the loan for €4 million. Silvestre chose to wear shirt number 26. He made his Rossoneri debut on 19 October in the 1–0 home victory against Udinese, and in the next round, a 3–2 defeat away to Parma, he scored his first goal with Milan. After four appearances and one goal with Milan, he returned to Inter as Milan declined to exercise its option to purchase Silvestre. On 29 August 2014, Silvestre joined Sampdoria on loan from Inter. He chose the number 26 shirt he previously wore at Milan. Two days later, he made his Blucerchiato debut after appearing as a substitute for Gianluca Sansone in the 1–1 away draw with former club Palermo. Silvestre made 30 appearances for Sampdoria and became unattached at the end of the 2014–15 season following the expiration of his contract with Inter.
Sampdoria
On 9 July 2015, following his release from Inter, Silvestre returned to Sampdoria, signing a two-year contract.