Give Someone a Run for Their Money

What does the idiom “Give Someone a Run for Their Money” mean?

Definition:

Compete effectively with the leader in a particular field

For example:

“Toyota has been the best-selling car in this country for many years, but I think that this year Honda will give them a run for their money.”

Notes:

This idiom comes from horse racing.