run for (one's) money
1. A prolonged period of success. The slot machine gave me a run for my money, but, in the end, the casino was the only real winner.
2. A challenge. Sure, Sheila still became valedictorian, but Tim really gave her a run for her money!
run for one's money, a
A close contest or a strong competition, as in We may not win the game, but let's give them a run for their money. This term probably comes from horse racing, where one may get considerable pleasure from watching the race even if one does not win much. Its first recorded use was in 1874.