Yadavs make BJP chief eat his words