After Bxf6 by white, the first thing you have to realize is that Bxf3 is not good for black, because Bxd8 Bxd1 Bxc7 and white just stole a pawn for free.
So gxf6 is forced. After Nxd4 by white, Bxd1 is completely forced (any other move just loses a piece). Nc6 then traps black's queen (all "safe" squares are forkable), so black doesn't move the queen since it's lost anyway. Black also can't save his bishop:
If Bg4 or Bh5: Nxd8 Rxd8, Nf6+ will fork the bishop
If Be2: Re2 by white
So, given that black can't save either his bishop or queen, black plays Bxc2 to take a pawn for the bishop, and the rest is pretty straightforward (after Bxc2, black doesn't HAVE to play Kg7, but I guess it's one of those moves where the side not benefiting from the tension just goes "ok fine go ahead and do your damage, I'm done with this annoying tension")