wwall: After 19...Qxg4+, perhaps best is 20.Kh1 Qxf4 21.Re4 and 22.Rh4 and White may be winning.Instead of 21.Qe2, White should try to trade off queens with 21.Qc1 and prevent ...Ng4.
Instead of 22.exd6, perhaps better is 22.Nd1 Nxe5 23.b3 as a good defense.
23.Re1 looks like the losing move. Perhaps better is 23.Nd1 Rfe8 24.Qd2.
23...Rbe8 wins, but 23...Rxb2 may be better. If 24.Qxb2, then 24...Qxf3, threatening 24...Bd4+ for the win.
After 24.Qxe8, not 24...Rxe8 25.Rxe8+ Bf8 26.Re4 or 26.Be2 looks like a draw.
24...Qxf3 and Black threatens 25...Bd4+ for the win.
25...Ne5 is best. If 25...Rxe8, then 26.Rxe8+ Bf8 27.Be2 and 23.Rxg4, and White is OK.
27...Nxc4 wins, but Black could also have won with 27...Qe3+ 28.Kh1 Qh3+ 29.Kg1 Bh6, threatening 30...Be3+.