I came across a fascinating Tanna D'Vei Eliyahu Rabbah (12:1) which states:
וכל האומר לא אכלו מלאכי השרת עם אברהם אע"ה לא אמר כלום אלא בצדקתו של אותו צדיק ובשכר טורח שטרח בשבילם פתח להם הקב"ה את פיהם ואכלו ולכך נאמר והוא עומד עליהם תחת העץ ויאכלו
And all who say that the ministering angels did not eat with Avraham is talking nonsense (lit. nothingness), rather due to the righteousness of the Tzaddik (i.e. Avraham) and the reward for all the effort/bother he expended, Hashem opened their mouths and they ate. Therefore it says, "And he stood over them under the tree and they ate."
So it would seem that ordinarily angels do not eat and it was only because of the fact that they were in a tzaddik's presence, that Hashem made them eat.
This all makes perfect sense....
However, when we get to the episode with Lot and his hosting of the malachim, the pasuk in Bereishis 19:3 writes:
וַיִּפְצַר־בָּ֣ם מְאֹ֔ד וַיָּסֻ֣רוּ אֵלָ֔יו וַיָּבֹ֖אוּ אֶל־בֵּית֑וֹ וַיַּ֤עַשׂ לָהֶם֙ מִשְׁתֶּ֔ה וּמַצּ֥וֹת אָפָ֖ה וַיֹּאכֵֽלוּ׃
But he urged them strongly, so they turned his way and entered his house. He prepared a feast for them and baked unleavened bread, and they ate.
So how come in this instance they ate? Lot was not exactly a tzaddik1 - How come with him they ate too?
I haven't seen any sources that say that they didn't really eat. In fact, Rabbeinu Bachya and the Ohr HaChaim both contrast their eating with Lot and Avraham by noting how they specifically ate bread/matzos by Lot as opposed to meat like in the case of Avraham - but they still ate?!
1 Refer to Bereishis Rabbah 41:7 which interprets the words "וַיִּשָֹּׂא לוֹט אֶת עֵינָיו וַיַּרְא אֶת כָּל כִּכַּר הַיַּרְדֵּן" - "And Lot lifted up his eyes and he saw the entire plain of the Jordan" (Bereishis 13:10) as a reference to immorality, and that he settled there despite looking at many other cities as he found it the most attractive option. Or, alternatively note the Midrash Tanchuma Buber Edition - Vayeira 21:4 that says out of the five jusdges in Sodom, Lot was the most wicked.