Bennett's tackle was a bad one, but watching the game back today it is noticeable that there was no comment suggesting it should have been a red until the slo-mo replay was shown. Doesn't make it any more acceptable but in the absence of VAR the referee got it right IMHO.
What also is interesting in the context of some of the comments being made in the media is that Cardiff committed 13 fouls in the game, Man City 10. Given that Man City had 74% possession that means that for approximately every 5 minutes of possession they had they got fouled, while for approximately every 2 minutes Cardiff were in possession Man City committed a foul.