Defender Pepe returns to the Portugal side for the Euro 2016 final against a France team unchanged from their semi-final victory over world champions Germany.
A thigh injury kept the Real Madrid defender out of Portugal's 2-0 victory over Wales in the final four, but he fronted up to media on Saturday to declare himself fully fit for the showpiece at the Stade de France.
William Carvalho also returns to Fernando Santos' XI in place of Danilo at the base of midfield, having missed the semi-final through suspension.
Santos will once again send his side out in a 4-4-2 diamond formation, with Nani joining captain Cristiano Ronaldo in attack. Renato Sanches - 18 years and 326 days - is the youngest player to feature in the tournament's final.
Didier Deschamps' France side are hit favourites coming into the encounter, and name an unchanged side for the third game in succession.
With six goals to his name, Antoine Griezmann is almost certain to be the tournament's top scorer and will support Olivier Giroud up front, Moussa Sissoko and Dimitri Payet will provide support from the flanks.
Blaise Matuidi and Paul Pogba line up in the centre of midfield, leaving N'Golo Kante on the bench once again, despite his starting role earlier in the competition.
Deschamps has kept faith with Samuel Umtiti in defence. The Lyon centre-back made his international debut in the quarter-final win over Iceland in place of the suspended Adil Rami, before turning in an excellent performance to keep Germany at bay last time out.
Portugal XI: Rui Patricio; Cedric Soares, Jose Fonte, Pepe, Raphael Guerreiro; Renato Sanches, William Carvalho, Adrien Silva, Joao Mario; Nani, Cristiano Ronaldo.
France XI: Hugo Lloris; Bacary Sagna, Laurent Koscielny, Samuel Umtiti, Patrice Evra; Paul Pogba, Blaise Matuidi; Moussa Sissoko, Antoine Griezmann, Dimitri Payet; Olivier Giroud.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.