From Longman Dictionary of Contemporary Englishbe good for the soulbe good for the soulGOOD/MORALif something is good for the soul, it is good for you and you should do it, even though it may seem unpleasant – often used humorously They say that hardship is good for the soul. → soul
Examples from the Corpus
be good for the soul• Confession is good for the soul, particularly when it comes from journalists, who have a notoriously difficult time admitting error.• What happened Saturday night was good for the soul.• Perhaps some teachers and others believe that, nevertheless, such practice is good for the soul!• Heat lightning was breaking outside and there was a breeze from the ocean that was good for the soul.• Which was good for the soul, but bad for knees and dignity.