A.T PhoneHome: 35.Bxg5 is a one-move brilliance. Spassky is playing very deep chess here!
He saw that <35.Bxg5> sacrifice is worth it because after recapturing on g5, Spassky has a very good outpost for his Knight.
After <36.Nxg5>, <36...Bh6> suits Spassky because <37.Ne6> means that Knight now attacks Rook from an immune square so Rook has to move to c3.
<37...Rc3> threatens Bishop which is why Spassky plays <38.Qg4+>, giving check (Black has to play <38...Kh8>) and gaining him a tempo to play <39.Qh4>. Now <39...Rxd3 40.Qxh6> are played.
Now Spassky works on creating a passed f-pawn. Also, Black has noticed that Spassky has a mate-in-one; <41.Qf8#> which Black anticipates with <40...Qf7>. Spassky plays <41.f6> and that f-pawn is now defended by Rook on f1 and Queen on h6. Black realizes that he needs to something about f1 Rook and Queen and that means <41...Rxg3>, giving up his Rook for Knight.
He does this because he wants to get rid of White Queen (he can only get Queens off if Black can play ...Qg6 with check <(...Qg6+, then Qxg6 Bxg6)>; otherwise White has <42.Qg7+ Qxg7 43.g7+ Kg8 44.Rf8# mate> . Black's plan works, <41...Rxg3 42.Kxg3 Qg6+ 43.Qxg6 Bxg6>. No more Queens! AND Black's light-squared Bishop gets some open squares.
Well, who said happiness lasts forever? White's next move sets new worries for Black, <44.f7>. Black cannot play 44...Bxf7 as 45.Rxf7 and White has a strong Rook bind on seventh rank which can be followed up with bringing White queenside Rook to kingside via f1. Instead, Black plays <44...Nd7> which guards f8 square.
Spassky plays <45.Rac1>. It forces Black Rook to f8 and Spassky finishes the game off with <46.Rc6>.