Im August 2006 wurde Vieira zum neuen Kapitän der französischen Nationalmannschaft bestimmt und er trat damit die Nachfolge des zurückgetretenen Zinédine Zidane an. Kurz zuvor hatte er mit den Franzosen den Einzug ins Finale der WM geschafft. In zwei Spielen war er dazu als „Bester Mann des Spiels“ („Man of the Match“) ausgezeichnet worden – im dritten Gruppenspiel gegen Togo (2:0) und im Achtelfinale gegen Spanien (3:1), als er jeweils auch ein Tor zu den Siegen beitragen konnte. Bis zum Finale spielte Vieira immer durch; dort wurde er gegen Italien nach knapp einer Stunde für Alou Diarra ausgewechselt und musste die Partie bis zum verlorenen Elfmeterschießen von der Bank aus verfolgen. Bei der Euro 2008 gehörte er auch noch einmal zum französischen Aufgebot. Aufgrund eines Muskelfaserrisses im Oberschenkel konnte er jedoch in keinem Spiel eingesetzt werden und Frankreich schied als Gruppenletzter aus. Für die Fußball-Weltmeisterschaft 2010 wurde er dann nicht mehr nominiert. Er absolvierte sein 107. und letztes Länderspiel am 2. Juni 2009 gegen Nigeria (0:1).