Which is correct: “I’m done” or “I have finished”?

Solution 1:

I’m done is grammatical but informal. It is found mainly in American English rather than British English.

Solution 2:

'I am done (with my work)' is a straggler from older English.

In Old English, the present perfect was formed somewhat differently. Whereas Modern English uses to have in almost every construction, be it transitive or intransitive, older English used to have with transitive verbs and to be with intransitive verbs. Here are some intransitive examples:

'He is risen.' (ModE 'he has risen.')

'I was come to his house.' (ModE 'I had come to his house.')

'We are fallen from riches.' (ModE 'We have fallen from riches.')

There is no change, however, with transitive verbs:

'I have hit him.' (But never 'I am hit him.')

'I have eaten dinner.' (But never 'I am eaten dinner.')

'He has never liked them.' (But never 'He is never liked them.')

Often, the Modern English verb to do still follows the old paradigm, whence we get the following intransitive construction:

'I am done (with my work).'

And the following transitive construction:

'I have done my work.'