Having been to both somewhat recently, I prefer San Angel Inn. That said, I've only been to La Hacienda once and do think it deserves another chance. I thought the food was decent the first time, but everything other than the soup was a little bland for my taste.