According to the Wiktionary, "earnt" is correct but not common:
This is an uncommon (<0.5% as common as earned in the British National Corpus) but entirely acceptable alternative form of the simple past and past participle earned. Still considered to be incorrect by many, who are largely unaware of the historical development of the English language.
"Earned" is much more common. The Merrian-Webster online dictionary doesn't even have an entry for "earnt". The entry for "earned" is here: http://www.merriam-webster.com/dictionary/earned
According to the same Wictionary page,
Other verbs which can be conjugated in this way are: learn (learnt), dream (dreamt), spell (spelt).
But it should be noted that "learnt", "dreamt" and "spelt" are more common than "earnt".