In international football, Carvalho's national team career began on 11 October 2003 in a friendly match against Albania. He represented Portugal in three UEFA European Championships and two FIFA World Cups, and was a member of the team that won UEFA Euro 2016. He was a regular in Portugal's lineup during Euro 2004, when his country advanced all the way to the final before losing to Greece. At the 2006 World Cup, he played in six matches for Portugal, who finished fourth after reaching the semi-finals.