Après avoir signé son premier contrat professionnel en faveur du Sporting, il se voit prêté au SC Lourinhanense, au SC Salgueiros, au SC Beira-Mar et au FC Alverca.
Après une saison réussie en Gironde, le club bordelais lui fait signer un contrat de quatre ans. Une saison plus tard, Marco Caneira se voit pourtant une nouvelle fois prêté, cette fois-ci au club espagnol de Valence. Il est définitivement transféré à Valence lors de l'été 2005.
Lors du mois de janvier 2006, son temps de jeu à Valence étant limité, il est de nouveau prêté : au Sporting cette fois-ci, son club formateur. Au Sporting, Marco Caneira joue régulièrement avec l'équipe première. Il inscrit notamment un but face à l'Inter Milan lors d'un match de Ligue des Champions. Il remporte la Coupe du Portugal en 2007 avec cette équipe.
Lors de l'été 2007, il retourne à Valence, club avec lequel il remporte la Coupe d'Espagne en 2008. Mais son temps de jeu à Valence est une nouvelle fois limité. Lors de l'été 2008, il retourne alors au Sporting, qui l'achète définitivement pour la somme de 3,5 millions d'euros.
En sélection
Marco Caneira reçoit sa première sélection en équipe du Portugal lors de l'année 2002.
Il est retenu par le sélectionneur António Oliveira afin de participer à la Coupe du monde 2002 qui se déroule au Japon et en Corée. Marco Caneira ne fait cependant aucune apparition lors de ce tournoi, se contentant de rester sur le banc des remplaçants.
Non retenu pour l'Euro 2004 qui se tient dans son pays natal, il est tout de même sélectionné par Luiz Felipe Scolari afin de participer à la Coupe du monde 2006 qui se déroule en Allemagne. Marco Caneira joue une rencontre durant cette compétition : le match de poule face au Mexique, où il débute en tant que titulaire. Le Portugal se classe quatrième du tournoi, en éliminant notamment les Pays-Bas lors des huitièmes de finale et l'Angleterre lors des quarts de finale.
Au total, Marco Caneira joue 25 matchs avec la Selecção, sans toutefois inscrire de buts avec cette équipe.