The trapassato prossimo is Italian's "past in the past" — the tense you use when one past event happened before another past event. In English, it's the had + participle construction: I had eaten, she had gone, they had already left. In Italian, it's structurally almost the same: take the imperfetto of avere or essere, add the past participle, and you have it.
The good news for anyone who already knows the passato prossimo: the trapassato prossimo is built on identical foundations. The only thing that changes is the auxiliary tense — instead of presente (ho mangiato), you use imperfetto (avevo mangiato). Every rule about choosing avere vs essere, every rule about participle agreement, every rule about clitic placement carries over without modification.
The basic formula
Trapassato prossimo = imperfetto of avere/essere + past participle
| Person | avere (imperfetto) | essere (imperfetto) |
|---|---|---|
| io | avevo | ero |
| tu | avevi | eri |
| lui / lei | aveva | era |
| noi | avevamo | eravamo |
| voi | avevate | eravate |
| loro | avevano | erano |
To these you add the past participle of the main verb — exactly the same participle you use in the passato prossimo: mangiato, parlato, dormito, andato, partito, plus the irregular ones (fatto, detto, scritto, letto, preso, messo, venuto, rimasto, and so on).
Full conjugation: mangiare (avere auxiliary)
| Person | Trapassato prossimo of mangiare |
|---|---|
| io | avevo mangiato |
| tu | avevi mangiato |
| lui / lei | aveva mangiato |
| noi | avevamo mangiato |
| voi | avevate mangiato |
| loro | avevano mangiato |
Quando sei arrivato, avevo già mangiato.
When you arrived, I had already eaten.
Mi disse che aveva letto il libro tre volte.
She told me she had read the book three times.
Avevamo finito il lavoro prima delle sei.
We had finished the work before six.
Full conjugation: andare (essere auxiliary)
When the auxiliary is essere, the participle agrees in gender and number with the subject — exactly as in the passato prossimo. So a male speaker says ero andato, a female speaker says ero andata, a mixed-gender or all-male group says eravamo andati, an all-female group says eravamo andate.
| Person | Trapassato prossimo of andare |
|---|---|
| io | ero andato/a |
| tu | eri andato/a |
| lui / lei | era andato/a |
| noi | eravamo andati/e |
| voi | eravate andati/e |
| loro | erano andati/e |
Quando sono arrivato, lui era già partito.
When I arrived, he had already left.
Le ragazze erano tornate prima del tramonto.
The girls had returned before sunset.
Mia madre era nata in un paese che non esiste più.
My mother had been born in a village that no longer exists.
Auxiliary selection: identical to passato prossimo
Every rule for choosing avere vs essere in the passato prossimo applies word-for-word in the trapassato prossimo. There is nothing new to learn here — only the auxiliary tense changes.
- Transitive verbs → avere: avevo letto, avevo comprato, avevo visto.
- Verbs of motion (intransitive) → essere: ero andato, ero arrivato, ero partito, ero tornato, ero entrato, ero uscito, ero salito, ero sceso, ero caduto, ero venuto.
- Verbs of becoming/state-change → essere: ero diventato, ero nato, ero morto, ero cresciuto.
- Reflexive verbs → essere (always): mi ero alzato, ti eri vestita, si era svegliato, ci eravamo lavati.
- Impersonal weather verbs → essere or avere (varies regionally): era piovuto / aveva piovuto.
Si era svegliato presto per non perdere il treno.
He had woken up early so as not to miss the train.
Avevo comprato il regalo una settimana prima del compleanno.
I had bought the gift a week before her birthday.
Erano usciti senza accendere la luce.
They had gone out without turning on the light.
If you have any doubt about which auxiliary a verb takes, the rule is exactly the rule from the avere vs essere page. There is no separate trapassato logic to learn.
Participle agreement: identical to passato prossimo
The agreement rules also carry over unchanged from the passato prossimo:
With essere — agree with the subject
Lei era andata al mercato presto.
She had gone to the market early.
I miei amici erano arrivati prima di me.
My friends had arrived before me.
Mia sorella si era già vestita.
My sister had already gotten dressed.
With avere — no agreement, except with a preceding direct-object clitic
By default, the participle stays in its base form -ato/-uto/-ito when the auxiliary is avere. But when a direct-object clitic (lo, la, li, le, ne) precedes the verb, the participle agrees with that clitic in gender and number.
Avevo visto Maria ieri sera.
I had seen Maria yesterday evening. (no agreement — Maria comes after the verb)
L'avevo vista ieri sera.
I had seen her yesterday evening. (agreement — la is a preceding feminine singular clitic, so vist-a)
Avevamo comprato i biglietti online.
We had bought the tickets online. (no agreement)
Li avevamo comprati online.
We had bought them online. (li is masculine plural, so comprat-i)
Le foto? Non le avevo ancora viste.
The photos? I had not seen them yet. (le → past participle agrees: vist-e)
For the full treatment of these rules, see participle agreement.
The basic meaning: a past in the past
The trapassato prossimo locates an event before another past event. There must be a reference point in the past, and the trapassato action sits even further back from it.
Quando sono arrivato, lui era già partito.
When I arrived, he had already left.
Here the reference point is sono arrivato (passato prossimo) — your arrival, located in the past. The trapassato era già partito (he had already left) sits even further back in time. The two-step structure is the whole point of the tense.
Mi ha detto che aveva visto un fantasma.
She told me that she had seen a ghost. (telling = past; seeing = before that)
Quando ho aperto la porta, il gatto era già scappato.
When I opened the door, the cat had already escaped.
A vent'anni avevo già viaggiato in cinque continenti.
By twenty I had already traveled to five continents.
The English equivalent — had + participle — maps onto Italian almost perfectly. If you can confidently say "I had eaten" in English, the trapassato prossimo is essentially that sentence translated word for word.
For the full treatment of when to use this tense (sequence of past events, reported speech, with adverbs like già, ancora, mai, appena), see trapassato prossimo: usage.
Word order with adverbs
In compound tenses like the trapassato prossimo, short adverbs (già, mai, ancora, sempre, appena, più) sit between the auxiliary and the participle, not after the whole verb phrase. This is the same rule as in the passato prossimo.
Avevo già finito quando sei arrivato.
I had already finished when you arrived.
Non l'avevo mai visto così arrabbiato.
I had never seen him so angry.
Non avevamo ancora deciso che fare.
We had not yet decided what to do.
Era appena uscito quando ha squillato il telefono.
He had just left when the phone rang.
The English placement (I had finished already) puts the adverb at the end; Italian puts it inside. Resist the English instinct.
Common mistakes
❌ Quando sono arrivato, lui ha già partito.
Incorrect — passato prossimo cannot mark anteriority within a past sequence. You need the trapassato.
✅ Quando sono arrivato, lui era già partito.
Correct — era partito places his departure before your arrival.
❌ Avevo andato al mercato.
Incorrect auxiliary — andare takes essere, not avere, in all compound tenses including the trapassato.
✅ Ero andato al mercato.
Correct — andare → essere → ero andato.
❌ Lei era andato a Milano.
Incorrect agreement — with essere, the participle must agree with the subject. Lei is feminine singular, so andata.
✅ Lei era andata a Milano.
Correct — feminine singular subject → andata.
❌ L'avevo visto Maria.
Incorrect on two counts: the clitic refers to Maria (feminine), so it should be 'l'avevo vista'; and you cannot have both the clitic l' and the full noun Maria — pick one.
✅ Avevo visto Maria. / L'avevo vista.
Correct — either the full noun (no agreement) or the clitic alone (agreement).
❌ Avevo finito già il lavoro.
Awkward placement — short adverbs go between the auxiliary and the participle, not after.
✅ Avevo già finito il lavoro.
Correct — già between avevo and finito.
❌ Quando ti ho visto, io avevo mangiato.
Grammatically possible but odd without context. The trapassato implies a contrast or a finished prior state — it usually wants 'già' or another anteriority marker.
✅ Quando ti ho visto, avevo già mangiato.
Better — già makes the anteriority explicit and natural.
Key takeaways
The trapassato prossimo is imperfetto of avere/essere + past participle, and that is the entire mechanical story. Three things to remember:
Auxiliary selection is identical to passato prossimo. If a verb takes essere in passato prossimo (è andato), it takes essere in trapassato (era andato).
Participle agreement is identical to passato prossimo. With essere, agree with the subject; with avere, no agreement except with a preceding direct-object clitic.
Short adverbs go inside. Avevo *già finito, not *avevo finito già.
For when to use this tense rather than passato prossimo or imperfetto, see trapassato prossimo: usage. For the literary cousin used after quando, appena, dopo che in narrative writing, see trapassato remoto.
Now practice Italian
Reading grammar gets you part of the way. The exercises are where it sticks — free, no signup needed.
Open the Italian course →Related Topics
- Trapassato Prossimo: UsageA2 — When to use the Italian past-of-the-past — and why getting the temporal layering right is the difference between sounding like a learner and sounding like a native.
- Trapassato Remoto: Formation and UsageC1 — The rarest Italian tense — a literary past-before-past confined to subordinate clauses with the passato remoto. You'll meet it in Manzoni; you'll never need to use it.
- Il Passato Prossimo: OverviewA1 — Italian's primary past tense for completed actions — how to form it, why the auxiliary choice (avere vs essere) is the most consequential decision, and where it fits in modern Italian.
- Passato Prossimo with AvereA1 — How to form the passato prossimo with avere as auxiliary — including the one situation where the participle suddenly starts agreeing with something it normally ignores: a preceding direct-object pronoun.
- Passato Prossimo with EssereA1 — The smaller but inescapable group of verbs that take essere as auxiliary — motion, change of state, occurrence — and the visible subject agreement that makes the participle change for every person.
- L'Imperfetto: OverviewA2 — The backbone of Italian past narration — the tense for ongoing, habitual, and descriptive past situations, and how it differs from the passato prossimo.