Brilliant game by Morozevich

28... Qxf5?? 29. Rxg6+! Kh8 (or Kh7) 30. Qxf5. This is obvious.
But what if the pawn takes? I guess after 28... gxf5?! 29. g6! pressuring the queen. I suppose black's best continuation is 29... Qxe6 30. Qxe6+ winning 2 rooks for the sacrificed queen. Can white queen his other pawn or does he have a checkmate planned? More analysis would be appreciated.