Is there any catch-phrase/idiom/slang I can use to express that every bad thing happens for a good reason? (or that bad things could lead to good consequences eventually)?
A blessing in disguise conveys the idea that an initial negative fact or experience may actually result in something positive:
- something that seems bad or unlucky at first, but results in something good happening later: Losing that job was a blessing in disguise really.
See every cloud has a silver lining at the free dictionary
something that you say which means that there is something good even in an unpleasant situation
There is also the commonly understood rainbow after the rain or for a rainbow, it has to rain first.