Winning as the underdog

Well done! A couple of thoughts, though: your doubled c-pawn is not really any disadvantage, since after 7... e6 you could have gotten rid of it easily with 8... c5 (9. dxc5 Bxc5, developing the bishop), or after the bishop exchange with your backward d-pawn. As it went though, you didn't even have to worry about it.
Also, if you look at your queen's excursion on moves 13-15, it didn't really accomplish anything (not that your opponent did anything to capitalize). You could have just gone in straight for the kill with 13... Ke7 and continued with the rest three moves earlier than you did here. Other than that, you didn't seem to waste any moves.
21...Rh2+ 22.Kf1 (22.Kg1 Rh1+ 23.Kg2 R8h2 0-1) Nd2+ wins the queen and the game.
As played, 21...Nxg5? 22.Qg4 and now white shoud get our of the mating threats. But you still stand better as you have the choice to blast the center when you want to (when white will have started his queenside attack).