There are a ton of errors before that, but the king and pawn endgame is a trivial win due to the outside passed pawn.
The simplest method is 34.f4, which restrains Black's kingside pawn majority. Actually the only thing white should be careful not to do is being left with a rook's pawn- which is precisely what happened in the game!
Before that, the simple 25.a4 wins a knight for two pawns, and the game.
That 34.f4 is better than f3 (and more importantly that 35...g5 is a draw) was not at all obvious to me.
If it was obvious to you, I'm impressed It took me some analysis to figure out why the engine cared... like you say, it's all about not being left with the rook pawn, but I wonder if I would have been able to find 35...g5 as black in a real game.
Anyway I think 30.Bd4 is an important move to note (which I did earlier, and I haven't seen anyone else mention it) because the B vs N endgame should be very easy while king and pawn endgames often require accuracy. Sure the K+P endgame may be a win, but in a real game I wonder if I would even bother to check.
There are a ton of errors before that, but the king and pawn endgame is a trivial win due to the outside passed pawn.
The simplest method is 34.f4, which restrains Black's kingside pawn majority. Actually the only thing white should be careful not to do is being left with a rook's pawn- which is precisely what happened in the game!
Before that, the simple 25.a4 wins a knight for two pawns, and the game.
To patzers in the crowd looks spot on (I think 34. h4 also works). IMHO to keep it general, LuckyDan74 because of your outside passer your king is in a much better spot, so the idea is to create inroads into his kingside pawns then give up the pawn and run over there and nom nom with your king.