Spaniard Oscar Pereiro of the Phonak team won the 16th stage of the Tour de France here Tuesday held over 180.5km between Mourenx and Pau. American Lance Armstrong retained the yellow jersey after the final day of climbing in the high mountains despite coming under a brief attack from Germany's Jan Ullrich.