Sergash: As MarkFinan pointed: <(...) I don't think black should have exchanged queens because it made any defence he had a lot harder.>
On the Komodo engine, <29...Qxf3?! 30.gxf3 >. Instead, 29...Re6! .
<31...Nb8> is inferior. Sronger is 31...Re6! .
<33.Rc5> (threat: 34.Rxd5) <Rec7 (only move) > Of course not 33.Nxc6?? Rec7 34.Nxb8 Rxc3 35.Rxc3 36.Nxa6 =.)
Magnus made a mistake on <34.e4?! dxe4 > and Jon could breathe more lightly! White had to take his time. For example, he could bring the king closer to the centre with 34.Kg2 .
The losing move: <35...f6?! 36.Ng4! > 35...Re7! 36.f3! Rd8 37.Ng4 (or 37.Rd1 Re6 38.Ng4! followed with Nf6) Rxd4 38.Ne3! (threatening the fork Nf5+) Kf6 Komodo 9.2 64 bits.
<37...Kf7 38.Nf5> (threatening Nf5-d6+) <Ke6?!> (better is 38...Kg6) 37...Re8!
The final mistake was <42...Re8?>. White was threatening Re5-e7+, but the 'lesser evil' was 42...Rh8, freeing the c8 square for the black king.
<44...Rc7> The longest survival was through 44...Ke8 45.Re1! (even stronger than 45.Nd6+) Rxe7 46.Rxe7+ Kd8 47.Ra7! but only a machine would go for such a line (here Komodo 9.2)! After 44...Rc7 and as was already mentioned in previous posts, White mates in 6 moves starting with the played <45.Rd1+!>