From Longman Dictionary of Contemporary Englishgive somebody a (good) run for their moneygive somebody a (good) run for their moneyto make your opponent in a competition use all their skill and effort to defeat you They’ve given some of the top teams a run for their money this season. → run
Examples from the Corpus
give somebody a (good) run for their money• Slosser gave Boyd a run for his money in the 1996 GOP primary.