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/

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.
我们的新产品旨在与市场领导者一较高下。