to give somebody a (good) run for their money (game, competition)

listen to the pronunciation of to give somebody a (good) run for their money (game, competition)