Run for one’s money

Meaning: To provide strong competition or give someone a serious challenge.

Example: The smaller company is giving the market leader a run for its money.