I will insert in the game my comments (in red) and James' comments (in green).
1. e4 e6 2. d3 c5 3. Nf3 g6 4. g3 Bg7 5. Bg2 Nc6
6. O-O d6 7. c3 Nge7 8. Nbd2 O-O 9. Re1 b5 10. Nf1 a5
11. Bg5 b4 12. Qc2 Bd7 13. Rad1 h6
After 13..h6 I was already a little worse. (13..Qb6 would have led to a more interesting game I think.)And after 14. Bf4 e5 15. Be3 I was felt I was definitely losing. It was so bad I felt it necessary to sacrifice a pawn and hope for complications.
14. Bf4 e5 15. Be3 Kh7
16. d4 f5
I think that here black doesn't need to sacrifice a pawn. After 16. ... cxd4 17. cxd4 Rc8, there is no problem for black.
17. dxc5 fxe4 18. Qxe4 d5
I felt you had 2 good chances to win. Once in the middlegame and once in the endgame. I thought In the middlegame after 18..d5 you should play 19. Qh4 where if I try 19..Rf5 20. g4 is excellent for white.
19. Qc2 bxc3 20. bxc3 Bg4
Here I have to considere 21. c4. After 21. ... Bxf3 22. Bxf3 Rxf3 23. cxd5, the passed pawns are a good compensation for the piece, but I don't know if they are enough. I loose a piece or a quality anyway, so this option seems better than the one I played.
21. Nf1d2 e4 22. Nd4 Bxd1 23. Rxd1 Qd7 24. Nxc6 Nxc6
I think that here the better move for white was 25. Nxe4. Now it is very clear for me. I don't know what I didn't played it in the game. After it, 25. ... Qf5 is not valid for Rxd5.
25. Qc1 Qg4
26. Nf1 Rae8 27. Rxd5 Ne5 28. Bd4 Nf3+
It was interesting to play 28. ... Qf5
29. Bxf3 exf3 30. Ne3 Rxe3
31. Bxe3 Bxc3
Here I can play 32. c6 and I think that after 33. Rc5, I have more chances to win than with the move I did in the game.
32. Qd1 Rf7 33. c6 Qh3 34. Qf1 Qe6 35. Rc5 Be5
36. Qc4 Qxc4 37. Rxc4 Bc7
Then in the ending after we exchanged queens I thought you could have obtained a winning advantage with 38. Bf4 BxB 39. pxB Rc7 40. h4 where your plan should be to walk your king over to the kingside take the pawn on f3 and continue to walk closer to my other kingside pawns. I can't move my rook until my king gets close to my rook
For instance, the following variation may be reasonable.
[ 38.Bf4 Bxf4 39.gxf4 Rc7 40.h4 Kg7 41.Kh2 Kf7 42.Kg3 Ke7 43.Kxf3 Kd6 44.Ke4 Re7+ 45.Kd4 Rc7 46.a4 Rxc6 47.Rxc6+ Kxc6 48.Ke5 Kc5 49.Kf6 Kb4 50.Kxg6 Kxa4 51.f5 Kb3 52.f6 a4 53.f7 a3 54.f8Q a2]
I agree with you. Looking at this position now, it seems difficult that white loose the advantadge.
38. Rd4 g5 39. Kf1 Kg6 40. Ke1 Rf6
41. Rc4 Kf5 42. h3 Ke6 43. Kd2 Kd5 44. Rc5+ Kd6 45. Rc2 Kd5
46. Kd3 Rxc6 47. Rxc6 Kxc6 48. Ke4 Kb5
I think that here I lost the last chance to win the game. I did a bad calculation and I thought I couldn't take the f3 pawn. But it was enough to win.
49. Bc1 Bxg3 Good! It was a surprise for me.50. Kxf3 Bd6
51. Kg4 Kc4 52. h4 gxh4 53. Bxh6 Kb4 54. f4 Ka3 55. f5 Kxa2
56. Kxh4 1/2-1/2