Knežević startte zijn carrière als profvoetballer bij NK Rijeka in 2002. Hij speelde hier 120 wedstrijden waarna hij vertrok naar Livorno. Met zijn debuut verloor hij 4-1 van Internazionale. Zijn eerste doelpunt scoorde hij tegen Cagliari op 18 april 2007. De wedstrijd werd met 2-1 gewonnen.
Op 30 juni 2008 werd Knežević verhuurd aan Juventus. Op 5 oktober maakte hij zijn debuut. Dit was een 2-1-verlies tegen Palermo. Sinds 2009 speelt Knežević weer voor Livorno.
Op 12 juni2012 ondertekende Knežević een 3-jarig contract met zijn oude club HNK Rijeka.[1] In de Adriatische derby in het begin van december 2012, waren Fiume aanvoerder Knežević en Anton Maglica van HNK Hajduk Split betrokken bij een conflict. Vanwege dit conflict tussen de twee kreeg Knežević een boete van 6.000 kn. en hij werd uitgesloten van deelname aan de eerstvolgende wedstrijd.[2] In september 2015 verbraken HNK Rijeka en Knežević het contract. Knežević kondigde aan uit te rusten tot de winter en daarna bekend te maken of hij zijn voetbalcarrière zal voortzetten.
Hij heeft voor Kroatië twaalf wedstrijden gespeeld en tot nu toe één doelpunt gemaakt. Zijn eerste interland speelde hij op 1 februari 2006 tegen Hong Kong. Hij heeft deelgenomen aan de kwalificatie van het EK van 2008. Knežević heeft nooit als basisspeler op een eindtoernooi gespeeld, wel driemaal als invaller.