Choosing between haben and sein as the auxiliary verb in the Perfekt is one of the most common stumbling blocks at B1 level. The rule is straightforward once internalised:

Use sein with… Use haben with…
Verbs of motion with a destination:
fahren, gehen, kommen, fliegen, laufen…

Verbs of change of state:
aufwachen, einschlafen, sterben, werden…

The verbs sein, bleiben, passieren
All transitive verbs (taking an Akkusativ object):
kaufen, sehen, essen, beschließen…

Most intransitive verbs that do not express motion or change:
arbeiten, schlafen, warten…

The Präteritum of haben and sein is used very frequently in both written and spoken German: hatte / hattest / hatten and war / warst / waren. For more past-tense practice, see the A1 haben oder sein exercise and the B1 sehr oder viel exercise. For grammar reference: Duden grammar guide and DW Learn German.


Exercise A – Perfekt: correct the errors

The short story below contains errors in the Perfekt. Click the correct form for each underlined choice.

Gestern Peter in die Stadt , um sich mit seiner Freundin zu treffen.

Als er dort , er gesehen, dass sie noch nicht da war.

Deshalb er beschlossen, einen Spaziergang zu machen. Er in den nächsten Park .

Als Peter im Park , er plötzlich , dass eine alte Dame ihren Geldbeutel .

Ohne zu zögern, hat Peter das Portemonnaie aufgehoben und es der Frau .

Diese Dame ist so glücklich gewesen, dass sie Peter 100€ . Peter hat sich sehr darüber gefreut, weil er momentan ziemlich pleite war.

Für den Finderlohn hat Peter seine Freundin ins Kino eingeladen und danach sie in einem guten Restaurant zu Abend .


Exercise B – Präteritum: match the sentence halves

Match each sentence beginning (1–10) with the correct ending (a–j). Type the letter in the box.

Sentence beginnings

  1. Ich…
  2. Meine Eltern…
  3. Die Katze…
  4. Den alten Fernseher…
  5. Das grüne Fahrrad…
  6. Er…
  7. Seine Nachbarin…
  8. Der Mathematiklehrer…
  9. Warum…
  10. Leider…

Sentence endings

  1. hatten wie immer Recht mit ihrer Meinung.
  2. war gestern im Garten des Nachbarn.
  3. hatte letztes Jahr einen Platten.
  4. war der Beste in seiner Klasse.
  5. war heute krank.
  6. hatte 4 Hunde.
  7. warst du gestern nicht in der Arbeit?
  8. hatten sie am Montag einen Unfall.
  9. hatte er auf dem Flohmarkt verkauft.
  10. war heute nicht in der Schule.

Type the matching letter (a–j) for each sentence beginning.


Perfekt still tripping you up? One focused lesson on auxiliary verbs is usually all it takes to make the rule automatic. Book a free trial lesson →