As usual one can work through this problem with a search for patterns, with a look at your forcing moves, or (most plausibly) with some combination of those approaches. Thus you might start by toying with possible knight forks, or near-forks. NxB attacks Black's queen; is there a way to drag Black's king into a position that can be forked from there? There is: you can play a sequence of attacks on f8 that leave the Black king standing there at the end. (See if you can work it out; the details are below.)
Or now consider how the position comes apart as you inspect your forcing moves. Two natural ones to consider might be Nxb7, picking up a pawn, or Qf7+, safely giving check and perhaps starting to hunt the king. But White can do better, and you will see this only by considering less obvious checks and their consequences. In addition to Qf7+ White also has Qf8+. This loses the queen, as Black is required to answer with RxQ; but rather than abandon the idea, follow it through: then what check can White play? The obvious follow-up is RxR+ (exhausting the battery on the f-file), and again the response is forced: KxR. The result of this sequence will have been the loss of White’s queen and rook in return for Black’s rook, but also—and most importantly—the movement of Black’s king to f8. Black’s king and queen would then be on dark squares; NxB+ forks them, and after winning the queen White has gained a piece (the bishop captured by the knight).