Albertan: The chess program Rybka 2.2 found a better idea on move 32 for Motylev which leads to a combination containing an exchange sacrifice for Motylev:
32... Qf8 142 33. Nh4 Rg5 34. Rf2 Bg6 35. g4 h6 36. Nf3 Qd6 37. Rd1 Rd8 38. h4 Rxg4 39.Ne3 fxe3!? 40. Rxd6 Rxd6 41. Qxe3 e4
If Topalov had taken the rook on move 34 ie 34.Nxg6+ play might have continued: 34...Qxg6 35.gxf3 Qh6 36.Qh2 Bxh3 37.f4 Bd4 38.Re2 Qh4 with sufficient compensation for the material for Black.
Stargleamer you are right about the move 35...Rf8. Motylev missed this move which could have resulted in this continuation: 36.g4 Be6 37.Qe4 Bxd5 38.Qxd5 Qxd5 39.cxd5 Kg8 40.Kg2 Rd6 42.Rxf8 Kxf8
35...Rg5?! was a mistake.
Motylev had a better move on move 36,that being 36...Qf8!? which could have resulted in this continuation: 37.gxf5 Bd4 38.Qe4 Rg3 39.Nf4 Qf6 40.Rf3 Rxf3 42.Qxf3 Qxf5
The move 39...Rg3? was a mistake.Again Motylev had the move ...Rf8 available and after 40.Qd3 Bxf6 41.Nd5 Rg6 42.Qe3 Qg7 44.Qxc5 Rg8 45.Rg1 Rg3 with some compensation for the two pawns.