give someone/something a run for their money

US /ɡɪv ˈsʌm.wʌn ˈsʌm.θɪŋ ə rʌn fɔr ðɛr ˈmʌn.i/
UK /ɡɪv ˈsʌm.wʌn ˈsʌm.θɪŋ ə rʌn fɔr ðɛr ˈmʌn.i/
"give someone/something a run for their money" picture
1.

to compete very well against someone or something, making them work hard to win

:
The underdog team really gave the champions a run for their money in the final match.
Our new product is designed to give the market leader a run for their money.