To provide strong competition to someone, making them work hard to maintain their advantage.
Examples:
- Expect him to give you a good run for your money — he's been in the game much longer than you.
- The new entrant is giving established brands a serious run for their money.
Origin: From horse racing, where 'wanting a run for your money' meant hoping a horse you bet on would actually race.
Synonyms: give stiff competition, push hard