Opdam genoot zijn jeugdopleiding bij FC Lisse. Hij maakte zijn profdebuut bij AZ in het seizoen 1996/97.
Op 4 juni2005 maakte Opdam zijn debuut in het Nederlands elftal, in de met 2-0 gewonnen thuiswedstrijd tegen Roemenië. Later dat jaar maakte hij zijn eerste interlandgoal tegen Tsjechië. Hij maakte kans om mee te mogen naar het Wereldkampioenschap voetbal 2006 in Duitsland, maar behoorde uiteindelijk tot de afvallers voor de definitieve selectie.
Op 23 oktober 2005 raakte Opdam in het uitduel met Willem II geblesseerd aan zijn rechterknie. In december maakte hij zijn rentree, waarbij hij in zijn eerste paar wedstrijden na zijn blessure nogal wat fouten maakte. Hierdoor speelde hij een tijdje minder wedstrijden.
Na ruim twaalf seizoenen te hebben gespeeld voor AZ, tekende hij in 2008 een contract bij Red Bull Salzburg, de club van zijn voormalige AZ-trainer Co Adriaanse. Die nam ook Nederlander Robin Nelisse van FC Utrecht mee. Met Salzburg werd Opdam in zowel het seizoen 2008/09 als in 2009/10 landskampioen van Oostenrijk. Hij tekende in juni 2010 een tweejarig contract bij FC Volendam[1]. Na het beëindigen van zijn spelersloopbaan in 2012 werd hij jeugdtrainer bij FC Volendam.