---
title: "The past perfect: ik had gegeten"
level: B1
chapter: "Verbs in time"
canonical: https://www.dutchfluency.com/grammar/past-perfect
updated: 2026-10-08
author: Dutch Fluency
license: CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/)
---

# The past perfect: ik had gegeten

Dutch uses _had_ or _was_ plus a past participle for something that happened before another moment in the past: _Toen ik aankwam, was de trein al vertrokken_ (when I arrived, the train had already left). This is the past perfect, the past of the past. You will need it most with _toen_, _al_ and _nadat_.

## The pattern

> For an action that was already over at some moment in the past, use the simple past of _hebben_ or _zijn_ plus a past participle (the "done" form of a verb, like _gegeten_, eaten).

- The helper is _had_ (plural _hadden_) or _was_ (plural _waren_): _ik had gegeten_, _wij waren vertrokken_.
- Verbs that take _zijn_ in the perfect tense take _was_ or _waren_ here: _ik ben gegaan_ becomes _ik was gegaan_. The rest take _had_ or _hadden_ (see [choosing the helper verb](https://www.dutchfluency.com/grammar/hebben-or-zijn)).
- In a main clause, _had_ or _was_ comes second and the participle goes to the end: _Ik had de soep al gegeten._
- In a subordinate clause (a side clause starting with a word like _nadat_ or _toen_), both verbs go to the end, in either order: _nadat ik had gegeten_ or _nadat ik gegeten had_.

## Examples

| Toen ik op het station aankwam, **was** de trein al **vertrokken**. | When I arrived at the station, the train had already left. |
| Nadat Daan zijn fiets **had gerepareerd**, fietste hij naar zijn werk. | After Daan had repaired his bike, he cycled to work. |
| Priya **had** het formulier al **ingevuld** voordat ze naar de gemeente ging. | Priya had already filled in the form before she went to the town hall. |
| De huisarts vroeg of ik al eerder last van mijn rug **had gehad**. | The GP asked whether I had had back problems before. |
| Joris **was** nog nooit in Groningen **geweest** voordat hij daar ging studeren. | Joris had never been to Groningen before he went to study there. |
| Het **had** de hele nacht **geregend**, dus de fietspaden waren nat. | It had rained all night, so the cycle paths were wet. |
| Toen Mei binnenkwam, **begon** de film. | When Mei came in, the film started. |
| Toen Mei binnenkwam, **was** de film al **begonnen**. | When Mei came in, the film had already started. |

## Why it works this way

Picture a story in the simple past: _Ik kwam thuis, zette thee en ging zitten._ Each verb moves the clock forward, and that simple past is the "now" of your story. The past perfect is a flashback to something that was already finished by then.

The last two examples show the difference. With _begon_, the film starts as Mei walks in. With _was begonnen_, it started before she arrived, and she has missed the opening. If you simply tell events in the order they happened, the simple past is enough. You only need _had_ or _was_ when you step back.

This also explains _nadat_ (after). English happily says "after I ate, I left", because "after" already shows the order. Dutch _nadat_ wants a finished action, so when the main clause is in the past, the _nadat_ clause is usually in the past perfect: _Nadat ik had gegeten, ging ik weg._ More in the lesson on time words.

German speakers are in luck: "hatte gegessen" and "war gegangen" work the same way. English and Spanish use one helper for every verb, so the choice between _had_ and _was_ is where most slips happen.

The same form also appears in unreal sentences such as _Als ik het had geweten_ (if I had known). That use has its own lesson.

Remember: the simple past tells the story, and _had_ or _was_ opens a flashback. If "already, by then" fits your meaning, you probably need them.

## Watch out

- Not: _Toen we bij de halte kwamen, had de bus al vertrokken._ Say: _Toen we bij de halte kwamen, was de bus al vertrokken._ (_vertrekken_ takes _zijn_, so it takes _was_ here)
- Not: _Nadat Fatima had betaald, ze pakte haar boodschappen in._ Say: _Nadat Fatima had betaald, pakte ze haar boodschappen in._ (after a subordinate clause, the verb comes straight after the comma)
- Not: _Nadat ik had de afwas gedaan, ging ik zitten._ Say: _Nadat ik de afwas had gedaan, ging ik zitten._ (in a subordinate clause, _had_ joins the participle at the end)
- Not: _Mei had gekocht een cadeau voor Yara._ Say: _Mei had een cadeau voor Yara gekocht._ (the participle closes the main clause)

## Quick check

1. Fill in _had_, _hadden_, _was_ or _waren_: _Toen Lotte eindelijk terugkwam met de taart, ... haar gasten al naar huis gegaan._
2. Fill in _had_, _hadden_, _was_ or _waren_: _Nadat Bas alle e-mails ... beantwoord, ging hij naar huis._
3. Fix the sentence by moving one word: _Toen Carlos aankwam, het feest was al begonnen._
4. Fix the sentence by changing one word: _Emma had al naar bed gegaan toen haar telefoon ging._

## Answers

1. _waren_: _gaan_ takes _zijn_, and _haar gasten_ is plural.
2. _had_: _beantwoorden_ takes _hebben_, and _Bas_ is one person.
3. _Toen Carlos aankwam, was het feest al begonnen._ The verb comes straight after the _toen_ clause.
4. _Emma was al naar bed gegaan toen haar telefoon ging._ _Gaan_ takes _zijn_, so _had gegaan_ is wrong.

## Use it today

Tell a colleague or neighbour about a time you were too late for something, using _toen_ plus _had_ or _was_. For example: _Toen ik bij de bakker kwam, hadden ze de laatste croissant al verkocht._

## Questions learners ask

**How do you form the past perfect in Dutch?**

Use the simple past of hebben or zijn (had, hadden, was, waren) plus a past participle, for example ik had gegeten or ik was vertrokken. Verbs that take zijn in the perfect tense take was or waren in the past perfect.

**Do you need the past perfect after nadat in Dutch?**

When the main clause is in the past, the nadat clause is usually in the past perfect: Nadat ik had gegeten, ging ik weg. Nadat describes a finished action, so Dutch prefers a completed form where English can say "after I ate".

**What is the difference between ik at and ik had gegeten?**

Ik at means "I ate" or "I was eating" at the moment you are talking about. Ik had gegeten means "I had eaten": the meal was already over before that moment.

From the Dutch Fluency Grammar: https://www.dutchfluency.com/grammar. Shared under CC BY-SA 4.0.
