Excellent use of pawns on the queenside, as well as using your knights to take away his light-squared bishop so you could play Ne4.
If you had started playing defensively after he played Bxh6, I believe you would have lost.
Good job!
22... Nc3+, beautiful! I always try to line up a bishop with a knight to make my opponents squirm!