The forward progress of White’s rook on d1 appears to be blocked by the pawn on d4; a better way to think of the position, however, is that the rook merely is masked. The difference might not matter if the pawn had nowhere to go but straight ahead, but in this case it can make a capture—and in the process it will change files, thus unmasking whatever attack may lie behind it. Thus d4xc5 attacks Black’s queen and also discovers an attack on Black’s rook, which previously had been attacked once and defended twice. You still don't have enough power to take the piece down, but you could change that by first using your rook to get rid of the knight on f6.
All this is the beginning of the idea, not the end of it. Since neither move you are planning would give check, you have to ask whether Black might reply with a check of his own. He could: Black plays 1. ...RxR+ and the threat is over. So now consider starting with a substitution: QxR+; the thought would be that if Black replies with KxQ, his king ends up on the d-file and d4xc5 becomes a discovered check. But this time there is another problem. Black need not respond to 1. QxR with KxQ; he can play NxQ instead.
These obstacles, too, are no reason to give up. They simply focus your inquiry and lengthen the sequence you are planning. You see that the knight on f6 obstructs your idea, which you knew anyway; so you take it out first: 1. RxN, g7xR. Then comes 2. QxR, KxQ, setting up a check for your next move: d4xc5+, and White wins a piece (he gave up a queen and a rook to win a queen, a rook, and a knight).