The pretérito perfeito composto looks harmless enough -- ter in the present plus a past participle, like tenho falado, tens comido, tem chovido. The form will feel familiar to any English or Spanish speaker. The meaning, however, is a linguistic trap. Despite looking identical to its Romance cousins, the European Portuguese compound past is not the equivalent of English "have spoken" or Spanish he hablado. It expresses a very specific idea: an action that has been happening repeatedly or continuously over a stretch of recent time, and that still reaches into the present.
The first thing to unlearn
If you know Spanish, you already have a strong (and wrong) instinct about this tense. If you know English, you have a slightly less strong (but still wrong) one. Both instincts have to be rewritten from scratch.
Tenho falado com ele ultimamente.
I have been talking to him lately (on and off, over recent days/weeks).
Tem chovido muito este mês.
It has been raining a lot this month.
Notice the English translations. They are not "I have spoken to him" or "It has rained" -- they are progressive, iterative, stretched over a period. That "-ing" or "a lot / repeatedly" flavor is built into the very meaning of tenho falado and tem chovido. A single instance will not do; the tense demands repetition or continuation.
The core idea in one sentence
Every sentence in the pretérito perfeito composto answers, implicitly, the same question: What has been going on over the recent past, right up to now? The action is spread out over a period of time that has not yet closed.
Tenho estudado todos os dias.
I have been studying every day.
O João tem trabalhado até tarde.
João has been working late (repeatedly, recently).
Temos ido à praia aos fins de semana.
We have been going to the beach on weekends.
In each of these, the speaker is reporting not one event but a pattern -- something that has happened over and over, or that is still going on, within a window that includes now. Remove the repetition, and the tense no longer fits.
What it is NOT for
The two biggest misuses come from Spanish and English interference. Both languages would happily use a "have + past participle" structure for these, but Portuguese would not:
❌ Tenho falado com ele ontem.
Incorrect -- a specific past moment cannot combine with the composto.
✅ Falei com ele ontem.
I spoke with him yesterday.
❌ Já tenho visto esse filme.
Incorrect -- a single completed experience does not take the composto.
✅ Já vi esse filme.
I've already seen that film.
For single completed actions, experiences, or anything pinned to a specific past moment, European Portuguese uses the simple preterite (see pretérito perfeito simples). That is the tense that does the work English "have done" and Spanish he hecho do. The composto is reserved for the iterative, continuous sense.
Form, briefly
The form is straightforward: ter in the present indicative + the past participle of the main verb. The participle is invariable; all the agreement happens on ter.
Tenho trabalhado muito ultimamente.
I have been working a lot lately.
Eles têm chegado sempre atrasados.
They have been arriving late all the time.
For full conjugations, irregular participles, and the double-participle verbs (like aceite/aceitado or ganho/ganhado), see Forming the Pretérito Perfeito Composto.
Typical time expressions
Certain adverbials signal the composto so reliably that their presence is practically a grammatical cue. All of them share the property of denoting a recent, still-open period.
| Portuguese | English |
|---|---|
| ultimamente | lately |
| nestes últimos tempos | in these last few times / lately |
| nos últimos meses / anos | in the last few months / years |
| este mês / este ano | this month / this year |
| esta semana | this week |
| desde X (até agora) | since X (up to now) |
Nestes últimos tempos, tenho dormido pouco.
Lately, I have been sleeping very little.
Este ano tem sido complicado.
This year has been complicated (and still is).
How it compares to English
English "have + past participle" is a much broader tool than the Portuguese composto. It covers single experiences (I have visited Paris), recent events with current relevance (I have finished my homework), and ongoing situations (I have lived here for ten years). Portuguese splits this territory between two different tenses:
| Meaning | English | Portuguese |
|---|---|---|
| Single experience, no time specified | I have visited Paris. | Já visitei Paris. (simple preterite) |
| Single recent completion | I have just finished. | Acabei de terminar. / Já terminei. |
| Repeated / ongoing up to now | I have been studying a lot. | Tenho estudado muito. (composto) |
| Started in the past, continues now | I have lived here for ten years. | Vivo aqui há dez anos. (present + há) |
Notice that the composto corresponds specifically to English "has/have been + -ing" -- not to the simple perfect. That mapping is a better first-pass guide than "have + participle".
Where it fits among the past tenses
European Portuguese has several past tenses that all carry slightly different weight. The composto is one narrow slice of that territory.
| Tense | Use | Example |
|---|---|---|
| pretérito perfeito simples | a single completed event | Falei com ele. |
| imperfeito | ongoing / habitual / background in the past | Falava com ele todas as manhãs. |
| pretérito perfeito composto | repeated / ongoing up to now | Tenho falado com ele. |
| mais-que-perfeito | past before another past | Já tinha falado com ele. |
The composto is the only one of these four tenses that anchors explicitly to now. The others locate the action entirely in the past; the composto keeps one foot in the present moment. That property is the heart of why it behaves so differently from its Spanish look-alike.
Common Mistakes
❌ Ontem tenho visto a Maria.
Incorrect -- *ontem* pins the event to a specific past moment.
✅ Ontem vi a Maria.
I saw Maria yesterday.
❌ Já tenho comido tailandês.
Incorrect -- a single life experience takes the simple preterite.
✅ Já comi comida tailandesa.
I've already had Thai food.
❌ Há uma hora tenho acabado.
Incorrect -- a one-off recent finish is *acabei de*, not the composto.
✅ Acabei de terminar há uma hora.
I finished an hour ago.
❌ Hei falado muito com ele.
Incorrect -- in modern EP use *ter*, not *haver*, for the composto.
✅ Tenho falado muito com ele.
I have been talking to him a lot.
❌ Tenho falado com ele uma vez.
Incorrect -- the composto requires repetition, not a single instance.
✅ Já falei com ele uma vez.
I've spoken with him once.
Key Takeaways
- The composto is built from ter (present) + past participle: tenho falado, tem chovido, têm vindo.
- It means repeated or continuous action over a recent period extending to now, never a single completed event.
- For single past events, even very recent ones, use the pretérito perfeito simples.
- Time expressions like ultimamente, este mês, nos últimos tempos are strong signals for the composto.
- Spanish he hablado and Portuguese tenho falado are false friends. They look alike but mean different things -- see Portuguese vs Spanish Present Perfect.
From here, dive into the full conjugation details at Forming the Pretérito Perfeito Composto, then the semantic heart of the tense at Repeated or Ongoing Actions Up to Now.
Related Topics
- Forming the Pretérito Perfeito CompostoA2 — Ter in the present + past participle
- Portuguese vs Spanish Present PerfectB1 — Why the Portuguese compound past differs drastically from Spanish -- a critical warning for Spanish speakers
- Repeated or Ongoing Actions Up to NowB1 — The core meaning of the perfeito composto -- something that has been happening and is still happening
- Common Mistakes with the Perfeito CompostoB1 — Errors English and Spanish speakers make with the compound perfect -- and how to fix them
- Pretérito Perfeito Simples OverviewA2 — The simple past tense for completed actions
- Preterite vs Imperfect OverviewA2 — When to use the preterite and when to use the imperfect