When I traded down to reach this knight ending I had already decided that 37.Nd4! must be winning for White. I mean, look at that weak a-pawn! But it was going to be hard to prove. This was a rapid game (30 minutes for all moves) and we both had less than 4 minutes left. It's a plain fact that knight endings involve a lot of calculation. And I don't care who you are, no one can accurately calculate a knight ending with this many pawns and this little time. For once it doesn't matter how much Dvoretsky (or Reuben Fine) you have read. Well, it matters a little, but not enough.
So I got to this position all set to play 37.Nd4... but then started to worry. I could see that Black's knight was going to get at my pawns on the kingside and I wasn't sure who was going to be faster. With the seconds ticking away I suddenly backed out with 37.e4!? dxe4 38.Nd2. I know... this is ultra-lame... but at least there isn't a lot of danger. Black played 38...Ke6. Now I could have taken the c-pawn with my knight when White is probably still a bit better. Instead I played 39.Nxe4 (safer, you know.) The game continued 39...Kd5 40.Nd2 Ne5 41.f4 Nd3 42.Nxc4 Nxf4 43.Nb6+ Kc6 44.Nxa4 Nxg2 45.Kd4. I don't have a reliable score after this. A few moves later we liquidated each other's pawns and then shook hands.
Back at home I set up the diagrammed position and started looking at 1.Nd4. It's tricky, but I'm pretty certain that White is winning. Here is the main line of my analysis:
37.Nd4 Ne5 38.Nb5 Nd3 39.f4 Ke6 40.Kd4 Nxb2 41.Nc7+ Kd6 42.Nxd5 Nd3 43.Nb6 Ne1 44.Nxc4+ Kc6 45.g3! Nf3+ 46.Kd3 Ng1 47.h4 Nf3 48.Ke2 Nh2 49.e4 Kc5 50.e5! fxe5 51.Nxe5 Kd4 52.Kf2 Kc3 53.Kg2 Kb3 54.Kxh2 Kxa3 55.Nd3 Ka2 56.h5 a3 57.h6 g6 58.g4 Kb3 59.f5 gxf5 60.g5! followed by 61.g6 and White wins easily.