The Ramban (Bereshit 1:29) says the reason Noach was allowed to eat animals is because he maintained them in the Ark. If he would not have brought them into the Ark they would all have perished, so they owed their life to him. If so, why is he allowed to eat fish and not be like Adam who the Gemara says was not allowed to eat it? They were not in the Ark!

The Ramban explains why Noach was allowed to kill animals for meat while Adam was not. Your question is only valid if Adam was also not allowed to eat fish. (I don't know if that was the case or not)
– MenachemOct 27 '11 at 7:01

My browser doesn’t like edaf for some reason. Can anyone edit in the source in the Gemara?
– DonielFNov 1 '19 at 14:48

Noach's upkeep of the animals merited that he could eat from them afterwards. They, in a sense, owed him a debt (Radak and Ramban as quote by Torah Ladaat on Behaalotcha 'Achilat Basar').

Ramban (Bereishit 7:23) explains more about the fate of the fish during the Mabul. He brings a gemara (Sanhedrin 108b) stating that the waters of the Mabul were boiling and should have killed the fish as well. He offers 2 answers to why they weren't killed, both along the lines of the fish fleeing to cooler waters in the depths and elsewhere. This perhaps strengthens the question above.

I heard an answer (source?) that the Ark provided cool waters so that the fish could survive. This would explain why Noach would be allowed to eat fish as well; they were directly saved by him and his ark. The fish were in a sense 'saved by the Ark' as much as the animals were, thus permitting him to eat from them as well.