20.Rb1 actually better as an in between move, then you win a piece or atleast traded up no matter what he does. The rest was well played at a quick glance.
Middle game blunders

Thanks Dinamo! I ran the PGN file through Fritz and it showed me couple of more improvements. I need to improve on my focus and attention for every move I guess - hope that will reduce my errors.
This is a recent game I played with 15 (10) time control and won. I have been practicing chess puzzles & tactical problems and have drastically improved from where I was six months back. That was the time when I really started learning chess and it has become such a passion now!
But am not happy with the way the middle game was handled here - time and again I have seen similar patterns returning to my games. Step 21 could have been far better if I had played 21.Rb1 instead of 21.Nxf8. That and I noticed some other improvements too post match.
Can anyone help me figure out what I have to do to overcome such mistakes?