Passé composé or imperfect?

CEFR A2Taught in Module 18, Raconter une histoire

The hardest single thing at A2, and the reason the two tenses were taught weeks apart. The choice is not about when something happened. Both are past. It is about what kind of thing you are reporting.

passé composéimparfait
an eventa circumstance
it happenedit was the case
moves the story forwardholds the story still
a photographthe scenery

The test sentence, and it contains both:

Je dormais quand le téléphone a sonné. I was sleeping when the phone rang.

Dormais is the situation already underway; a sonné is the event that breaks into it. Every narrative sentence in French is some version of this shape.

Four contrasts worth memorising:

Hier, il a plu.It rained yesterday. (an event, it is over)
Il pleuvait quand je suis sorti.It was raining when I went out. (scenery)
J'allais au marché tous les samedis.I used to go every Saturday. (habit)
Samedi, je suis allé au marché.On Saturday I went. (one time)

The signal words are reliable. Soudain, tout à coup, un jour, hier, ce jour-là, and any counted number of times (trois fois) pull the passé composé. Tous les jours, souvent, d'habitude, pendant que, à cette époque pull the imperfect.

Some verbs change meaning with the tense, and this catches advanced learners too:

Je savais.I knew.
J'ai su.I found out.
Je voulais partir.I wanted to leave.
J'ai voulu partir.I tried to leave (and made the attempt).
Je connaissais Marie.I knew Marie.
J'ai connu Marie en 2019.I met Marie in 2019.
Il avait peur.He was afraid.
Il a eu peur.He got a fright.

The pattern behind that table: the imperfect gives the state, the passé composé gives the moment the state began.

A practical way to draft. Tell the story twice. First lay down everything that was already true — weather, time, place, mood, who was there — all imperfect. Then add what happened — all passé composé. Learners who choose tense sentence by sentence get lost; learners who separate scenery from events do not.

What this unlocks

Knowing the rule is not the same as producing it.

This page explains the pattern. The track drills it: the point arrives inside a mini-dialogue, then production marked against a CEFR descriptor, then a module test that returns you to your two weakest sessions if you miss it.