Nice one, but there was no reason for white to take on g3. 20.Kg1 and white's misery on dark squares will continue for a long time.
19. ... Qg3!!
20. Kg1 (20. Kh1 Bf4! 21. Ng4 hxg4 and mate next move)
20. ... Bf4! threatening mate on h2
21. Re1 clearing the f1-square for the white king
21. ... g5 and white finds himself in a very dangerous attack