Both tenses often translate the same way in English ("I did" / "I was doing" gets blurred in casual speech), so learners default to picking whichever feels right. The real difference isn't about translation — it's about how the speaker frames the event in the past: completed with clear edges, or ongoing without a defined endpoint.
Use passé composé to narrate a specific action that happened and finished — whether it lasted a moment or a defined stretch of time. "J'ai visité Paris en 2019" — the trip is over, with a clear time marker.
Use imparfait to describe the backdrop around an event, a repeated habit in the past, or a state/feeling that lasted without emphasizing when it started or ended. "Quand j'étais petit, j'habitais à Hanoï" — it doesn't specify exactly when that living situation started or ended, just describes a lasting state.
"Je regardais la télé quand le téléphone a sonné" — imparfait describes the ongoing background (watching TV), passé composé narrates the interrupting event with a clear moment (the phone rang).
"soudain," "un jour," "hier" usually pair with passé composé (a specific, dated event). "Souvent," "d'habitude," "tous les jours" usually pair with imparfait (repetition, habit).
Since English blurs this distinction in casual speech, translating first and then reverse-engineering the French tense often leads to the wrong choice. Instead, ask directly: does this event have clear edges, or is it ongoing without a defined end?
Fill-in-the-blank exercises help you remember the rule, but the reflex to pick the right tense while telling a real story (like in the TCF Canada Speaking section) only comes from repeated storytelling practice.
Picking the wrong tense between these two shows up often on lists of common grammar errors. See 5 French grammar mistakes Vietnamese learners commonly make for other errors worth watching for too.
Book a free consult — Hải will help you train the reflex to pick the right tense in real storytelling, not just on paper.