
It's White to move, Black to win; the task if figuring out how. In fact the basic idea is quite simple, as long as one is familiar with this elementary endgame:

It doesn't matter whose move it is here, as Black will push the f-pawn every move (unless he's checked, when the simplest response is to head for the rook until it can't safely check any longer) until White reacts in one of three ways:
(1) He captures the f-pawn with the rook. In this case, Black can move his rook and promote the a-pawn.
(2) He captures the f-pawn with the king (on f3, presumably). In that case, Black plays ...Rf1+ and ...a1Q.
(3) He meets ...f3+ with Kf2. That is met by ...Rh1, with the point that Rxa2 falls to the skewer ...Rh2+ followed by ...Rxa2.
Returning to our first position

the trick is to transform this into a version of our elementary ending. To do this, we must make the f-pawn a passer, and that involves two preliminaries: eliminating White's e-pawn and White's g-pawn, or at least turning the latter into an h-pawn.
The first step is easy as pie, because White to move is in zugzwang: he can't move his king because of ...Rh1#, g3 is bad because of hxg3+ Kg2 h4 followed by ...h3+, forcing the White king to allow a safe check from Black's rook, and White's rook can't stay on the 5th rank because it would allow ...Rc1 followed by ...b1Q. (Of course, if it were Black to move it wouldn't be any more difficult: 1...Ke6/Ke4/Kf4 all work perfectly well.)
So: 1.Rb8 (no better or worse than any of Rb3/4/6/7) 1...Kxe5 (preliminary 1 is taken care of) 2.Rb7 f5 3.Rb8 f4 (it's useful to push the f-pawn as far it can safely go before playing ...h3, so that there's no need to worry about g3 in reply) 4.Rb3 h3! 5.gxh3 (and there's preliminary 2) 5...f3 and wins (6.Rxf3 Re1 and 7...b1Q, or 6.Kg3 Rg1+ [the sadistic 6...f2 works as well: 7.Kxf2 Rh1 8.Rxb2 {else ...b1Q} 8...Rh2+ and 9...Rxb2] 7.Kxf3 b1Q).
