2. e3 Not a particularly good continuation. 2. Nf3 is more flexible (possibly intending g3, Bg2, 0-0)
2... Nf6 3. Bd3 d5 3... e6 is more flexible.
4. Nc3?! A strategic error. White must sooner or later involve his c-pawn in the attack on Black's pawns, so why move the knight in front of it? 4. Nf3 and 4. c4 (only playing Nc3 after c4) are better.
4... e6 5. Nf3 Ne4?! Premature, as white can force its exchange by 6. Ne5! which is unpleasant for Black, threatening to both exchange the knight and play 7. Qh5+. Black can parry the threats but not without losing tempi.
6. 0-0 (6. Ne5!) Nxc3? And now Black exchanges his well-posted knight for one that is practically impotent, gives White a strong pawn formation, and opens the b-file for him? Better is 6... c6 followed by 7... Bd6. (if 6... Bd6 then 7. Nb5 is unpleasant)
7. bxc3 Qf6?! Has no real purpose. 7... Bd6 is better.
8. Rb1 The immediate 8. c4 is probably better, since the rook may not need to go to the b-file.
8... b6? Awful. Black shouldn't weaken the light squares on his kingside like this unless absolutely forced. Again better was 8... Bd6.
9. Rb3? Why move the rook to b3? It's not any better placed there than it was on b1 (worse, in fact, since it interrupts the Queen's diagonal and is no longer communicating on the back rank). The immediate 9. c4 followed by cxd5 and c2-c4 was simple and strong. White could spend his tempi on moves more useful than Rb3, like Ne5 and Bb5.
9... Bd6 10. c4 0-0 11. cxd5 exd5 12. c4 The same as the above line but with a tempo less. Now Black should play something like 12... Be6, taking advantage of the misplaced rook on b3.
12... Qf7? A similar idea, but bad execution. After 13. cxd5 Qxd5, the rook is not threatened, and White can continue 14. Qe2 (threatening Bc4 and e4), when Black has a lot of difficulties.
13. Nh4?? c5?? Awful. 13... dxc4 would have won a piece and the game.
14. cxd5 Qxd5 15. Nxf5?? Bxf5 16. e4 Bxh2+?? Giving away pieces left and right. Nothing is wrong with 16... Bxe4 when Black just remains up a piece.
17. Kxh2 Bxe4 18. Bxe4 Qxe4 19. Rd3? 19. dxc5 bxc5 is better as White has chances to threaten Black's isolated pawns and does not have to worry about his isolated d-pawn.
19... Nc6?! 19... Nd7, intending to meet 20. dxc5 with 20... Nxc5, is more prudent.
20. f3?? Qh4+ 21. Kg1 cxd4 21... Nxd4, centralizing the knight and preserving the pawn position is better.
22. Qb3+ Rf7? 22... Kh8 removes the King from danger and leaves the Rooks connected.
23. Qd5 Rc8 24. Re3?? dxe3 25. Bxe3 Nb4 26. Qe6 Nd3?? 27. Qxc8+ Rf8 28. Qe6+ Kh8 29. Qd7 The game should be drawn. Black would have a slight advantage (N+Q is usually better than B+Q), but it is probably not enough to win.