| No. | Cap | Date | Venue | Opponent | Score | Result | Competition | Ref. |
|---|
| 1 | 8 | 12 June 2004 | Estádio do Dragão, Porto, Portugal | Greece | 1–2 | 1–2 | UEFA Euro 2004 | [37] |
|---|
| 2 | 12 | 30 June 2004 | Estádio José Alvalade, Lisbon, Portugal | Netherlands | 1–0 | 2–1 | UEFA Euro 2004 | [38] |
|---|
| 3 | 14 | 4 September 2004 | Skonto Stadium, Riga, Latvia | Latvia | 1–0 | 2–0 | 2006 FIFA World Cup qualification | [39] |
|---|
| 4 | 15 | 8 September 2004 | Estádio Dr. Magalhães Pessoa, Leiria, Portugal | Estonia | 1–0 | 4–0 | 2006 FIFA World Cup qualification | [40] |
|---|
| 5 | 17 | 13 October 2004 | Estádio José Alvalade, Lisbon, Portugal | Russia | 2–0 | 7–1 | 2006 FIFA World Cup qualification | [41] |
|---|
| 6 | 4–0 |
|---|
| 7 | 18 | 17 November 2004 | Stade Josy Barthel, Luxembourg City, Luxembourg | Luxembourg | 2–0 | 5–0 | 2006 FIFA World Cup qualification | [42] |
|---|
| 8 | 22 | 4 June 2005 | Estádio da Luz, Lisbon, Portugal | Slovakia | 2–0 | 2–0 | 2006 FIFA World Cup qualification | [43] |
|---|
| 9 | 23 | 8 June 2005 | A. Le Coq Arena, Tallinn, Estonia | Estonia | 1–0 | 1–0 | 2006 FIFA World Cup qualification | [44] |
|---|
| 10 | 30 | 1 March 2006 | LTU Arena, Düsseldorf, Germany | Saudi Arabia | 1–0 | 3–0 | Friendly | [45] |
|---|
| 11 | 3–0 |
|---|
| 12 | 34 | 17 June 2006 | Waldstadion, Frankfurt, Germany | Iran | 2–0‡ | 2–0 | 2006 FIFA World Cup | [46] |
|---|
| 13 | 41 | 7 October 2006 | Estádio do Bessa, Porto, Portugal | Azerbaijan | 1–0 | 3–0 | UEFA Euro 2008 qualifying | [47] |
|---|
| 14 | 3–0 |
|---|
| 15 | 43 | 15 November 2006 | Estádio Cidade de Coimbra, Coimbra, Portugal | Kazakhstan | 2–0 | 3–0 | UEFA Euro 2008 qualifying | [48] |
|---|
| 16 | 45 | 24 March 2007 | Estádio José Alvalade, Lisbon, Portugal | Belgium | 2–0 | 4–0 | UEFA Euro 2008 qualifying | [49] |
|---|
| 17 | 4–0 |
|---|
| 18 | 47 | 22 August 2007 | Hanrapetakan Stadium, Yerevan, Armenia | Armenia | 1–1 | 1–1 | UEFA Euro 2008 qualifying | [50] |
|---|
| 19 | 48 | 8 September 2007 | Estádio da Luz, Lisbon, Portugal | Poland | 2–1 | 2–2 | UEFA Euro 2008 qualifying | [51] |
|---|
| 20 | 51 | 17 October 2007 | Almaty Central Stadium, Almaty, Kazakhstan | Kazakhstan | 2–0 | 2–1 | UEFA Euro 2008 qualifying | [52] |
|---|
| 21 | 57 | 11 June 2008 | Stade de Genève, Geneva, Switzerland | Czech Republic | 2–1 | 3–1 | UEFA Euro 2008 | [53] |
|---|
| 22 | 62 | 11 February 2009 | Estádio Algarve, Faro, Portugal | Finland | 1–0‡ | 1–0 | Friendly | [54] |
|---|
| 23 | 74 | 21 June 2010 | Cape Town Stadium, Cape Town, South Africa | North Korea | 6–0 | 7–0 | 2010 FIFA World Cup | [55] |
|---|
| 24 | 77 | 8 October 2010 | Estádio do Dragão, Porto, Portugal | Denmark | 3–1 | 3–1 | UEFA Euro 2012 qualifying | [56] |
|---|
| 25 | 78 | 12 October 2010 | Laugardalsvöllur, Reykjavík, Iceland | Iceland | 1–0 | 3–1 | UEFA Euro 2012 qualifying | [57] |
|---|
| 26 | 80 | 9 February 2011 | Stade de Genève, Geneva, Switzerland | Argentina | 1–1 | 1–2 | Friendly | [58] |
|---|
| 27 | 82 | 10 August 2011 | Estádio Algarve, Faro, Portugal | Luxembourg | 2–0 | 5–0 | Friendly | [59] |
|---|
| 28 | 83 | 2 September 2011 | GSP Stadium, Nicosia, Cyprus | Cyprus | 1–0‡ | 4–0 | UEFA Euro 2012 qualifying | [60] |
|---|
| 29 | 2–0 |
|---|
| 30 | 85 | 11 October 2011 | Parken Stadium, Copenhagen, Denmark | Denmark | 1–2 | 1–2 | UEFA Euro 2012 qualifying | [61] |
|---|
| 31 | 87 | 15 November 2011 | Estádio da Luz, Lisbon, Portugal | Bosnia and Herzegovina | 1–0 | 6–2 | UEFA Euro 2012 qualifying | [62] |
|---|
| 32 | 3–1 |
|---|
| 33 | 93 | 17 June 2012 | Metalist Stadium, Kharkiv, Ukraine | Netherlands | 1–1 | 2–1 | UEFA Euro 2012 | [63] |
|---|
| 34 | 2–1 |
|---|
| 35 | 94 | 21 June 2012 | National Stadium, Warsaw, Poland | Czech Republic | 1–0 | 1–0 | UEFA Euro 2012 | [64] |
|---|
| 36 | 96 | 15 August 2012 | Estádio Algarve, Faro, Portugal | Panama | 2–0 | 2–0 | Friendly | [65] |
|---|
| 37 | 97 | 7 September 2012 | Stade Josy Barthel, Luxembourg City, Luxembourg | Luxembourg | 1–1 | 2–1 | 2014 FIFA World Cup qualification | [66] |
|---|
| 38 | 101 | 6 February 2013 | Estádio D. Afonso Henriques, Guimarães, Portugal | Ecuador | 1–1 | 2–3 | Friendly | [67] |
|---|
| 39 | 104 | 10 June 2013 | Stade de Genève, Geneva, Switzerland | Croatia | 1–0 | 1–0 | Friendly | [68] |
|---|
| 40 | 105 | 14 August 2013 | Estádio Algarve, Faro, Portugal | Netherlands | 1–1 | 1–1 | Friendly | [69] |
|---|
| 41 | 106 | 6 September 2013 | Windsor Park, Belfast, Northern Ireland | Northern Ireland | 2–2 | 4–2 | 2014 FIFA World Cup qualification | [70] |
|---|
| 42 | 3–2 |
|---|
| 43 | 4–2 |
|---|
| 44 | 108 | 15 November 2013 | Estádio da Luz, Lisbon, Portugal | Sweden | 1–0 | 1–0 | 2014 FIFA World Cup qualification | [71] |
|---|
| 45 | 109 | 19 November 2013 | Friends Arena, Solna, Sweden | Sweden | 1–0 | 3–2 | 2014 FIFA World Cup qualification | [72] |
|---|
| 46 | 2–2 |
|---|
| 47 | 3–2 |
|---|
| 48 | 110 | 5 March 2014 | Estádio Dr. Magalhães Pessoa, Leiria, Portugal | Cameroon | 1–0 | 5–1 | Friendly | [73] |
|---|
| 49 | 5–1 |
|---|
| 50 | 114 | 26 June 2014 | Estádio Nacional Mané Garrincha, Brasília, Brazil | Ghana | 2–1 | 2–1 | 2014 FIFA World Cup | [74] |
|---|
| 51 | 116 | 14 October 2014 | Parken Stadium, Copenhagen, Denmark | Denmark | 1–0 | 1–0 | UEFA Euro 2016 qualifying | [75] |
|---|
| 52 | 117 | 14 November 2014 | Estádio Algarve, Faro, Portugal | Armenia | 1–0 | 1–0 | UEFA Euro 2016 qualifying | [76] |
|---|
| 53 | 120 | 13 June 2015 | Vazgen Sargsyan Republican Stadium, Yerevan, Armenia | Armenia | 1–1 | 3–2 | UEFA Euro 2016 qualifying | [77] |
|---|
| 54 | 2–1 |
|---|
| 55 | 3–1 |
|---|
| 56 | 125 | 29 March 2016 | Estádio Dr. Magalhães Pessoa, Leiria, Portugal | Belgium | 2–0 | 2–1 | Friendly | [78] |
|---|
| 57 | 126 | 8 June 2016 | Estádio da Luz, Lisbon, Portugal | Estonia | 1–0 | 7–0 | Friendly | [79] |
|---|
| 58 | 3–0 |
|---|
| 59 | 129 | 22 June 2016 | Parc Olympique Lyonnais, Lyon, France | Hungary | 2–2 | 3–3 | UEFA Euro 2016 | [80] |
|---|
| 60 | 3–3 |
|---|
| 61 | 132 | 6 July 2016 | Parc Olympique Lyonnais, Lyon, France | Wales | 1–0 | 2–0 | UEFA Euro 2016 | [81] |
|---|
| 62 | 134 | 7 October 2016 | Estádio Municipal de Aveiro, Aveiro, Portugal | Andorra | 1–0 | 6–0 | 2018 FIFA World Cup qualification | [82] |
|---|
| 63 | 2–0 |
|---|
| 64 | 4–0 |
|---|
| 65 | 5–0 |
|---|
| 66 | 135 | 10 October 2016 | Tórsvøllur, Tórshavn, Faroe Islands | Faroe Islands | 4–0 | 6–0 | 2018 FIFA World Cup qualification | [83] |
|---|
| 67 | 136 | 13 November 2016 | Estádio Algarve, Faro, Portugal | Latvia | 1–0‡ | 4–1 | 2018 FIFA World Cup qualification | [84] |
|---|
| 68 | 3–1 |
|---|
| 69 | 137 | 25 March 2017 | Estádio da Luz, Lisbon, Portugal | Hungary | 2–0 | 3–0 | 2018 FIFA World Cup qualification | [85] |
|---|
| 70 | 3–0 |
|---|
| 71 | 138 | 28 March 2017 | Estádio do Marítimo, Funchal, Portugal | Sweden | 1–0 | 2–3 | Friendly | [86] |
|---|
| 72 | 139 | 9 June 2017 | Skonto Stadium, Riga, Latvia | Latvia | 1–0 | 3–0 | 2018 FIFA World Cup qualification | [87] |
|---|
| 73 | 2–0 |
|---|
| 74 | 141 | 21 June 2017 | Spartak Stadium, Moscow, Russia | Russia | 1–0 | 1–0 | 2017 FIFA Confederations Cup | [88] |
|---|
| 75 | 142 | 24 June 2017 | Krestovsky Stadium, Saint Petersburg, Russia | New Zealand | 1–0‡ | 4–0 | 2017 FIFA Confederations Cup | [89] |
|---|
| 76 | 144 | 31 August 2017 | Estádio do Bessa, Porto, Portugal | Faroe Islands | 1–0 | 5–1 | 2018 FIFA World Cup qualification | [90] |
|---|
| 77 | 2–0‡ |
|---|
| 78 | 4–1 |
|---|
| 79 | 146 | 7 October 2017 | Estadi Nacional, Andorra la Vella, Andorra | Andorra | 1–0 | 2–0 | 2018 FIFA World Cup qualification | [91] |
|---|
| 80 | 148 | 23 March 2018 | Letzigrund, Zürich, Switzerland | Egypt | 1–1 | 2–1 | Friendly | [92] |
|---|
| 81 | 2–1 |
|---|
| 82 | 151 | 15 June 2018 | Fisht Olympic Stadium, Sochi, Russia | Spain | 1–0‡ | 3–3 | 2018 FIFA World Cup | [93] |
|---|
| 83 | 2–1 |
|---|
| 84 | 3–3 |
|---|
| 85 | 152 | 20 June 2018 | Luzhniki Stadium, Moscow, Russia | Morocco | 1–0 | 1–0 | 2018 FIFA World Cup | [94] |
|---|
| 86 | 157 | 5 June 2019 | Estádio do Dragão, Porto, Portugal | Switzerland | 1–0 | 3–1 | 2019 UEFA Nations League Finals | [95] |
|---|
| 87 | 2–1 |
|---|
| 88 | 3–1 |
|---|
| 89 | 159 | 7 September 2019 | Red Star Stadium, Belgrade, Serbia | Serbia | 3–1 | 4–2 | UEFA Euro 2020 qualifying | [96] |
|---|
| 90 | 160 | 10 September 2019 | LFF Stadium, Vilnius, Lithuania | Lithuania | 1–0‡ | 5–1 | UEFA Euro 2020 qualifying | [97] |
|---|
| 91 | 2–1 |
|---|
| 92 | 3–1 |
|---|
| 93 | 4–1 |
|---|
| 94 | 161 | 11 October 2019 | Estádio José Alvalade, Lisbon, Portugal | Luxembourg | 2–0 | 3–0 | UEFA Euro 2020 qualifying | [98] |
|---|
| 95 | 162 | 14 October 2019 | Olimpiyskiy National Sports Complex, Kyiv, Ukraine | Ukraine | 1–2‡ | 1–2 | UEFA Euro 2020 qualifying | [99] |
|---|
| 96 | 163 | 14 November 2019 | Estádio Algarve, Faro, Portugal | Lithuania | 1–0‡ | 6–0 | UEFA Euro 2020 qualifying | [100] |
|---|
| 97 | 2–0 |
|---|
| 98 | 6–0 |
|---|
| 99 | 164 | 17 November 2019 | Stade Josy Barthel, Luxembourg City, Luxembourg | Luxembourg | 2–0 | 2–0 | UEFA Euro 2020 qualifying | [101] |
|---|
| 100 | 165 | 8 September 2020 | Friends Arena, Solna, Sweden | Sweden | 1–0 | 2–0 | 2020–21 UEFA Nations League A | [102] |
|---|
| 101 | 2–0 |
|---|
| 102 | 168 | 11 November 2020 | Estádio da Luz, Lisbon, Portugal | Andorra | 6–0 | 7–0 | Friendly | [103] |
|---|
| 103 | 173 | 30 March 2021 | Stade Josy Barthel, Luxembourg City, Luxembourg | Luxembourg | 2–1 | 3–1 | 2022 FIFA World Cup qualification | [104] |
|---|
| 104 | 175 | 9 June 2021 | Estádio José Alvalade, Lisbon, Portugal | Israel | 2–0 | 4–0 | Friendly | [105] |
|---|
| 105 | 176 | 15 June 2021 | Puskás Aréna, Budapest, Hungary | Hungary | 2–0‡ | 3–0 | UEFA Euro 2020 | [106] |
|---|
| 106 | 3–0 |
|---|
| 107 | 177 | 19 June 2021 | Allianz Arena, Munich, Germany | Germany | 1–0 | 2–4 | UEFA Euro 2020 | [107] |
|---|
| 108 | 178 | 23 June 2021 | Puskás Aréna, Budapest, Hungary | France | 1–0‡ | 2–2 | UEFA Euro 2020 | [108] |
|---|
| 109 | 2–2‡ |
|---|
| 110 | 180 | 1 September 2021 | Estádio Algarve, Faro, Portugal | Republic of Ireland | 1–1 | 2–1 | 2022 FIFA World Cup qualification | [109] |
|---|
| 111 | 2–1 |
|---|
| 112 | 181 | 9 October 2021 | Estádio Algarve, Faro, Portugal | Qatar | 1–0 | 3–0 | Friendly | [110] |
|---|
| 113 | 182 | 12 October 2021 | Estádio Algarve, Faro, Portugal | Luxembourg | 1–0‡ | 5–0 | 2022 FIFA World Cup qualification | [111] |
|---|
| 114 | 2–0 |
|---|
| 115 | 5–0 |
|---|
| 116 | 188 | 5 June 2022 | Estádio José Alvalade, Lisbon, Portugal | Switzerland | 2–0‡ | 4–0 | 2022–23 UEFA Nations League A | [112] |
|---|
| 117 | 3–0 |
|---|
| 118 | 192 | 24 November 2022 | Stadium 974, Doha, Qatar | Ghana | 1–0‡ | 3–2 | 2022 FIFA World Cup | [113] |
|---|
| 119 | 197 | 23 March 2023 | Estádio José Alvalade, Lisbon, Portugal | Liechtenstein | 3–0‡ | 4–0 | UEFA Euro 2024 qualifying | [114] |
|---|
| 120 | 4–0 |
|---|
| 121 | 198 | 26 March 2023 | Stade de Luxembourg, Luxembourg City, Luxembourg | Luxembourg | 1–0 | 6–0 | UEFA Euro 2024 qualifying | [115] |
|---|
| 122 | 4–0 |
|---|
| 123 | 200 | 20 June 2023 | Laugardalsvöllur, Reykjavík, Iceland | Iceland | 1–0 | 1–0 | UEFA Euro 2024 qualifying | [116] |
|---|
| 124 | 202 | 13 October 2023 | Estádio do Dragão, Porto, Portugal | Slovakia | 2–0‡ | 3–2 | UEFA Euro 2024 qualifying | [117] |
|---|
| 125 | 3–1 |
|---|
| 126 | 203 | 16 October 2023 | Bilino Polje Stadium, Zenica, Bosnia and Herzegovina | Bosnia and Herzegovina | 1–0‡ | 5–0 | UEFA Euro 2024 qualifying | [118] |
|---|
| 127 | 2–0 |
|---|
| 128 | 204 | 16 November 2023 | Rheinpark Stadion, Vaduz, Liechtenstein | Liechtenstein | 1–0 | 2–0 | UEFA Euro 2024 qualifying | [119] |
|---|
| 129 | 207 | 11 June 2024 | Estádio Municipal de Aveiro, Aveiro, Portugal | Republic of Ireland | 2–0 | 3–0 | Friendly | [120] |
|---|
| 130 | 3–0 |
|---|
| 131 | 213 | 5 September 2024 | Estádio da Luz, Lisbon, Portugal | Croatia | 2–0 | 2–1 | 2024–25 UEFA Nations League A | [121] |
|---|
| 132 | 214 | 8 September 2024 | Estádio da Luz, Lisbon, Portugal | Scotland | 2–1 | 2–1 | 2024–25 UEFA Nations League A | [122] |
|---|
| 133 | 215 | 12 October 2024 | Kazimierz Górski National Stadium, Warsaw, Poland | Poland | 2–0 | 3–1 | 2024–25 UEFA Nations League A | [123] |
|---|
| 134 | 217 | 15 November 2024 | Estádio do Dragão, Porto, Portugal | Poland | 2–0‡ | 5–1 | 2024–25 UEFA Nations League A | [124] |
|---|
| 135 | 5–0 |
|---|
| 136 | 219 | 23 March 2025 | Estádio José Alvalade, Lisbon, Portugal | Denmark | 2–1 | 5–2 (a.e.t.) | 2024–25 UEFA Nations League A | [125] |
|---|
| 137 | 220 | 4 June 2025 | Allianz Arena, Munich, Germany | Germany | 2–1 | 2–1 | 2025 UEFA Nations League Finals | [126] |
|---|
| 138 | 221 | 8 June 2025 | Allianz Arena, Munich, Germany | Spain | 2–2 | 2–2 (a.e.t.) (5–3 p) | 2025 UEFA Nations League Finals | [127] |
|---|
| 139 | 222 | 6 September 2025 | Vazgen Sargsyan Republican Stadium, Yerevan, Armenia | Armenia | 2–0 | 5–0 | 2026 FIFA World Cup qualification | [128] |
|---|
| 140 | 4–0 |
|---|
| 141 | 223 | 9 September 2025 | Puskás Aréna, Budapest, Hungary | Hungary | 2–1‡ | 3–2 | 2026 FIFA World Cup qualification | [129] |
|---|
| 142 | 225 | 14 October 2025 | Estádio José Alvalade, Lisbon, Portugal | Hungary | 1–1 | 2–2 | 2026 FIFA World Cup qualification | [130] |
|---|
| 143 | 2–1 |
|---|