It took decades, if not centuries for anyone to defeat them
Quite right. The Japanese repelled them, but largely because of storms, the famous Divine Wind (Kamikaze).
The Mamluks eventually defeated them in Palestine, but many decades after they started their rampages.
In their several invasions of Europe, they were never defeated by a European army. Each time they turned back for internal reasons.
They also failed when invading what are now Indonesia, Vietnam and Thailand, but that is fairly obviously more of a climate issue.