give the devil his due
give the devil his due {v. phr.}
To be fair, even to someone who is bad; tell the truth about a person even though you don't like him,
I don't like Mr. Jones, but to give the devil his due, I must admit that he is a good teacher.
Categories:
Source: A Dictionary of American Idioms