Well, move 20 Qe3: your comment is that you should have played Nd2. You cannot because your queen is under attack by the Ba6. I would suggest instead 20 Qc2, with the idea to bring the queen to g6 for defense of the kingside.
12 h3 is not the best. You lose most of your advantage after this move.
The rook sacrifice was very strong. But I think a better reaction is 15 cxd5. For example 15 cxd5 Nxd4 16 Qc3 Nb5 = Black can repeat with ...Nd4, but if he doesn't he has a worse position after retreating the rook.
Any thoughts?