visayanbraindoctor: It's almost always worth your time to study just how master attacker Keres conducts his attacks.
He usually starts off from a positionally sound base and employing fundamental chess principles. At 15. f4, the position is in a Caro-Kann or French advanced closed center pawn structure. Keres does precisely what chess principles recommend- attack the White closed center pawn chain by challenging it with pawns at f6 and c5.
15... f6 and 17... c5
Instead of allowing a pawn storm by Black with c4, b5, a5, b4, Korchnoi decides to take the c5 pawn.
18. dc5 bc5
This however gives new positional advantages to Black. Specifically the b-file, a3-f8 diagonal, and the a1-h8 diagonal are opened.
After further development 19. g3 Bc6 we now definitively enter the middlegame. True to his style, Korchnoi tries to grab a pawn, as is pretty obvious from his next three moves. Rh4, Nd3, Nf2
20. Rh4 Rg8 21. Nd3 Rb8 22. Nf2
'Wasting' three tempi while there are open lines to your King may work with lesser masters, but it would never do against Keres, whose style is to sac and attack if opportunity arises. What is a legitimate pawn grab for Korchnoi is a pawn sac for Keres for tempo. This difference in stylistic approach may be one reason why Korchnoi never got a handle on Keres. A materialistic Korchnoi is just the right meat for a sacrifice loving Keres.
After 22. Nf2, Keres opens his a3-f8 diagonal with 22... c4. He has already spotted that the White a3 pawn is vulnerable to a Queen attack supported by his DSB via this diagonal after another attack at the base of the mini pawn chain at b2.
Kochnoi does his pawn grab, which from Keres' perspective is a pawn sac for tempo. The attack has definitively commenced.
23. Nxg4 (pawn grab!) Qe7!
Note that Keres never wasted tempo on routinely developing his DSB out. It remains in the back rank where it supports his Queen on an attack on the a3 pawn.
Korchnoi tries to give his King room to escape by 24. Re1 but it's too late. Keres the master attacker never wastes any tempo once the attack starts. He removes the base of the mini pawn chain by 24... Rxb2 and then captures the a3 pawn 25... Qxa3.
Note the position after 26. Kb1. Keres momentarily lacks pieces to mate the White king, and so he immediately clears his back rank for his KR to swing over by the creeping moves 26... Bg7 (this also develops his DSB onto the a1-h8 diagonal) and 27...Kc7. The ability to foresee necessary quiet or creeping moves while on an attack seems to be common in all the great attackers.
Korchnoi valiantly defends by blocking the b-file and the a1-h8 diagonal.
27. Ne5 and 28. Nb5
Keres decides that his attack won't quite mate the White King and he goes to plan B, eating as many of White's pieces as he can.
Sound attacks if not able to do an outright mate often results in a severe disruption of the defender's piece coordination and pawn structure. They are at their most vulnerable after fending off an attack, and often are scattered and don't defend each other. This is the secret to many of the Alekhine sting at the end of the tail combinations. Keres as with AAA before him and Kasparov after was always on the look out for loose pieces and pawns during an attack.
Although he survives a King Hunt Korchnoi is easily dispatched by Keres in the endgame after Keres eats a load of loose material.
28. Nb5 axb5 (eat) 29. c3 Bxe5 30. fxe5 Rxg3 (eat) 31. Rh3 Rg5 32. Rhe3 Nc5 33. Rf3 Be8 34. Qa2 Qxa2 35. Kxa2 Rxh5 (eat) 36. Ka3 Ne4 37. Rf8 Bd7 38. Kb4 Rxe5 (eat)
The 'eats' above mark the points wherein Keres shifts the material balance back in his favor.
Quite an instructive game- a study in different chess styles and how to conduct an attack.