Bruno Silva began playing football for Danubio F.C. in Montevideo, Uruguay at the start of the 2000 season. He remained with the club until 2003, then transferred to FC Rostov to play in the Russian Premier League. Having made only four appearances for the Russian side, Silva returned to Danubio the following year and remained with the club for one more season, before finally transferring to the Dutch side FC Groningen.
Signing with FC Rostov for the 2004 season, he would make only 4 league appearances for the Russian side. He returned to Danubio F.C. back in his native Uruguay after the season ended.
After transferring over from FC Groningen, Bruno Silva suffered several injuries which cut into the defender's playing time with Ajax due to a shoulder injury he acquired during the club's 2011 training camp in Turkey.
During a successful loan spell to the Brazilian club Internacional in 2010, Bruno Silva helped the club win its second South American Copa Libertadores, making it Bruno Silva's first international club accolade of his career.