Keres v Bronstein. Two of the best. Keres when it came to attacking always struck me as a sound Tal.
Bronstein had a dream like ability to see complex ideas.
There are parts of the game where I cannot quite work out why Bronstein did not grab the b=pawn.
Anyway the exchange sacrifice. 18. ... RxNf3 19. g2xRf3 Nxd4 20. Nc3 Bf6
Well it is a material loss N(3) P(1) v R(5) so you would expect white to +1 but he is not.
There are the doubled isolated f-pawns v the passed d-pawn (for some reason in the French black likes those two pawns). White playing Rc1 can be met with Bg5.
It is certainly not the knight pair, it looks like a positional sacrifice where black can get better outposts for his knights.
I am also cynical Keres and Bronstein were probably under orders not to push Botvinnik, of course Keres did beat Botvinnik in the tournament but then lost to two distinctly average players.
Paul Keres vs David Bronstein 1956 Moscow - Pawn and knight vs Rook?

http://www.chessgames.com/perl/chessgame?gid=1033937
Got back to basics tactics by Heisman on the advice of this thread:
https://www.chess.com/forum/view/game-analysis/stockfish-or-other-engine-to-explain-why-a-move-was-inaccurate-mistake-blunder
. Is it because you retain the pair of knights?
BUT Page 18, he says that on the game above, at move 18, black moves to gain a knight and a pawn in exchange for a rook. He says that although this looks like a material loss of 1 pawn (3+1 gain for black and 5 for the rook for white) in total, this was actually advantageous for black? But I have no idea why
Would be very grateful if anyone can explain?