A good game. No blunders, no mistakes. No really tough moves either though, just took advantage of opponent mistakes.
After 30.h3, Rb3+ misses a mate in 2. My idea was to open the d pawn to attack by the Queen, but this misses the point that the pawn can be used against the king. 30..Qc1+ means 31.Kd3 is forced, with any of Qd2#, Qc3#, or 31..Rc3# delivering the win.
After 31.Kf2 there is a faster mate than 31..Qxd4+. Actually quite a cool one. 31..Ne4+ means that either 32.fxe4 Rc2#, 32.Ke2 Rc2#, or 32.Kg2 Rb2#
1. e4 e5 2. Nf3 Nc6 3. Bb5 Bd6[1] 4. a3 Nf6 5. Qe2 O-O
6. Nc3 Nd4?[2] 7. Nxd4 exd4 8. Qc4?[3] dxc3 9. a4 cxd2+ 10. Kxd2 c6[4]
11. c3 cxb5 12. Qd4 Bf4+ 13. Ke2 Bxc1 14. Raxc1 bxa4 15. Rcg1 Re8
16. e5 Qc7 17. f3 Rxe5+ 18. Kf2 Qb6 19. b4 axb3 20. Rc1 Qxd4+
21. cxd4 Rb5 22. g3 a5 23. Ra1 a4 24. Rac1 b2 25. Rxc8+ Rxc8
26. Rb1 a3 27. g4 a2 28. Rxb2 Rxb2+ 29. Ke3 a1=Q 30. h3 Rb3+[5]
31. Kf2 Qxd4+[5] 32. Kg3 Qe5+ 33. Kf2 Rc2+ 34. Kf1 Rb1# 0-1
[1]: See opening analysis
[2]: a mistake, opening the line that transpires
[3]: A bad mistake, allowing the knight take
[4]: fine, a6 is a bit better
[5]: Missed mates, see above