You gave 18...h6 two question marks...but what's the better move?
There's only one beautiful way out: g5!! Qxg5 Ng8! and black is okay. The point is that black is preparing to play f5 which opens up the Q to defend h7. If Bxh7 then f6.
So let's not let the f-pawn advance.
Black is lost even after QxP and Ng8, Re7 puts end to all resistance!! if F5, Qg7++
I'll raise you a Qxh2, threatening mate, 0-1.
Good enough for me. Looks like black indeed escapes.