We start with the Iranian's piece sac idea:
16...e4 17. Bxf4 exf3 18. Nxf3 must have been too boring for Firouzja. 'I thought the piece sac was interesting.' Yes, he was walking through the playing hall a lot after his 19th move. 'I wasn't entirely sure if it was correct.'
17.gxf4 exf4 18. Bxb6 axb6 19. Rfe1 Be5
19... gxh4 20. Rxe8+ Qxe8 21. Rd1 was equal - too boring!
20. Ng2 g4
21. Be2 f3 22. Bb5 Qd6 23. Nf4! followed by 24.Rxe5 also looks OK for White.
21... Rxe5 22. Be4 f3
'Probably he should have played 23. Nf4,' Firouzja said. 'After 23.Ne3 I didn't see a defence for White.'The engine gives (after 23.Nf4) the brilliant 23...b5 with the idea ...Ra6 and the other rook joins the attack!
23... Rh5 24. Qc4 Qh4 25. Qc7
'He may have thought this saved him but he missed my next move.'
The killer move, played in a fraction of a second.
26.Qxg3+ Rg5 27. Bxf3 Rxg3+ 28. hxg3 was the queen sacrifice: 'This may not be so easy, but it's just lost.'
26... gxf2+ 27. Kh1 Rg5 28. Ng3 Bh3 29. Bxf3
The lethal finish, played after some thought.
30. Nce4 Rxe4! 0-1
It's mate after both 31.Nxe4 Rg1+ and 33...Qe1, and 31.Bxe4 Qxe4+ 32.Bg2.
Something similar would have followed after 30. Nce2, as Jeroen Bosch explained: 30... Rxe2! 31. Bxe2 (31. Nxe2 f1Q+ is a little more prosaic) 31... Qe4+! 32. Nxe4 Bg2 mate.