How about playing 15...dxe4 instead of 15 ...Nh7? Then, after some exchanges (for example, 15...dxe4 16 Nxe4 Nxe4 17 Bxe4 Bxe4 18 Rxe4 19 Qf6) you could play Qf6 to defend your king, and have a safe advantage.
In the game, 15...Nh7 allowed White to take over the center with 16 cxd5 and make your Bb7 ineffective.
Make sure you turn on "move list" before examining this game.
I was playing Black. I don't see any glaring mistakes in the game for me, but maybe some of you will. I fought hard, but lost in the end. Good game.