I remember having seen this position when I was quite young, so I remembered the themes:
White casts a mating net on the black king by sacrificing some material, and the two black pawns will underpromote to knights to try to prevent it.
Still, it was hard to figure out the details, but I think this is the solution:
1. Nf6+ Kg7 (the other responses are already covered by @untitpoi's answer) 2. Nh5+ Kg6 (Kf7 and K[fgh]8 allow the d-pawn to queen (also on the next few moves); after Kh7 Bc2+ will drive the king to the back rank with the same results) 3. Bc2+ Kxh5.
Now the king is starting to get locked up. 4. d8Q Nf7+ 5. Ke6 Nxd8+ 6. Kf5.
Any check by the white bishop on the d1-h5 or e8-h5 diagonal is mate. White threatens Bd1# so Black has to play 6... e2.
Next target for White's bishop is f3, so 7. Be4 e1N.
Next target: square e2, so 8. Bd5 c2 9. Bc4 c1N
Next target: square e8, so 10. Bb5 Nc7
OK, let's try d1 again: 11. Ba4 and now Black can only stave off the mate by interposing knights, e.g. 11... Nb3 12. Bxb3 Nc2 13. Bxc2 and 14. Bd1#.
Maybe this puzzle was one of the reasons why
I prefer bishops over knights. Four knights seem unable to stop a single bishop.
EDIT: Today, I stumbled upon this post on Chess Stack Exchange, where the problem is also discussed. It includes a 'replayer' where you can replay the moves on a board.