What would you do and why?
My choice is Bf4 because the e-file will be opened after the exchange of pawns. Also, the bishop at f4 controls the important e5 square.
Rd4 trying to exchange the doubled pawns maybe??
Bf4 works too like sanath said.
Nice to see Team India teamates on the forum.
Also did the game end or is it going on?

Take the pawn, it creates a passer on the g file, play f4 to make a protected past pawn and control e5. Bring the bishop to f2 and trade rooks on the e file.
Your passed pawn and bishop should give you the better chances.

@Assault: you mean exf?
@quadriple: of course the game is over. As can be seen on top, I lost. Posting before the game is over would be cheating.

exf is what I played.
After the game was over I analysed my game using CompoChess. After exf my position was evalauted from +0.67 to -0.65. My exf was considered by CC like I lost a pawn and worse!
Recommended move by CC is gxf6 which is evaluated to +0.73

Maybe it's right but I wouldnt trust a computer too much in this position.
They have difficulty in assesing positional factors like a past pawn, bishop v knight in return for bad pawn structure.

exf is what I would probably play. It gives white a passed pawn and weakens black's kingside pawns. The only thing left to check is if his minor piece will somehow be better (knight vs bishop). But Bd4 is a very good square. In fact looks like white is close to winning / is winning after exf5.
gxf6 helps the knight to a better square and doesn't weaken black's pawns.

Yes, I *felt* like I was in better shape too. Frankly I am poor in judging which side is better when both sides have equal material and none of them in obvious control.
Perhaps exf is good. Ofcourse I had plenty of opportunity to mess up later which I did. However the evaluation going from +.67 to -.65 is too much for CC to be wrong - in my experience. When very few pieces are left on board I have seen CompuChess not wrorking well but with so many of them still on the board, CC analysis is usually dependable.
In this game after 21...f5 what would you do and more importantly WHY?
I feel if I understand reasons behind thinking of good players in such a situation, I will be able to learn some general principles and use them in my future games.