Tactics: Pawn for Your Trouble?

This week's Canadian Tactic comes from the game Michael Kleinman - David Itkin, North American Junior Championship.
White has built up an ominous attack. Is there anything wrong with 23.h5, or is it a mistake to let Black win a pawn for his trouble with ...Nxe4 then ...Qxg5?

 

23.h5 Nxe4

Was that a good move, or did Black have better? 

Spoiler: Highlight to view

Black's position is difficult, but taking the pawn is a mistake. 

23...Kg8+  24.hxg6 hxg6  25.Nf6+!?: 
      25...Bxf6? 26.Qxg6+ Bg7 27.Qh7+ Kf7 28.Bh5+ +- 
      25... Rxf6 only move 26.gxf6 Qxf6 +/-  

 

24.Bxe4 Qxg5

Solution 

Spoiler: Highlight to view

 25.h6!

 A nice combo, which I haven't seen before. White wins the Q or the B:
25...Bxh6 26.Rdg1 wins the Bh6.
25...Bf6 26.Rdg1 traps the Q.

 Weaker is 25.hxg6 h6! and although White still has a huge advantage, Black isn't getting mated in the near future.

 

25...Bc8  26.hxg7+ Kxg7  27.Rdg1 Qf6

 Black has two pawns for the B... but there's something about all those pieces pointed at the Black King.

 28.Rxh7+! Kxh7  29.Rxg6 Qf5  30.Re6

 30.Bxf5?? Bxf5 -/+.

 30...Bxe6 31.dxe6 Kg6 32.e7 Rf7 33.Bxf5+ Rxf5 34.Qd3

1-0

 

The game:
Kleinman, Michael - Itkin, David
2014 NA Junior Ch, Kitchener
2014.08.01

and nine others from the 2014 NA Junior appear in the 2014.09 issue of Chess Canada, the CFC's electronic newsletter.