از امیرمومنان علی علیه السلام نقل شده است که حضرت یونس علیه السلام در شکم ماهی بزرگ قرار گرفت، ماهی به دریای قلزم رفت و از آن جا به دریای مصر، از آن جا به دریای طبرستان (دریای خزر)، از آن جا وارد دجله بصره شد و بعد یونس را به اعماق زمین برد. قارون که در عصر موسی علیه السلام مشمول غضب خدا شده بود ( و خداوند به زمین فرمان داده بود تا او را در کام خود فرو برد)، فرشته ای از سوی خدا مأمور شده بود که قارون را هر روز به اندازه طول اقامت یک انسان، در زمین فرو برد. یونس در شکم ماهی، ذکر خدا می گفت و استغفار می کرد، قارون زمزمه یونس علیه السلام را شنید، به فرشته موکل خود گفت: اندکی به من مهلت بده، من در این جا صدای انسانی را می شنوم. با دستور خداوند به قارون مهلت داد. به صاحب صدا (یونس) نزدیک شد و گفت: تو کیستی؟ یونس: انا المذنب الخاطی یونس بن متی؛ من گنهکار خطاکار پسر متی هستم.» قارون احوال خویشان خود را از او پرسید، نخست گفت: از موسی چه خبر؟
- موسی علیه السلام مدتی است که از دنیا رفته است.
– از هارون برادر موسی علیه السلام چه خبر؟
- او نیز از دنیا رفت.
– از کلثم ( خواهر موسی) که نامزد من بود چه خبر؟
- او نیز مرد.
قارون گریه کرد و اظهار تأسف نمود (و دلش برای خویشانش سوخت و برای آنها گریست). همین دلسوزی او موجب شد که خداوند نسبت به او لطف نمود و به آن فرشته مأمور خطاب کرد که عذاب دنیا را از قارون بردار. هنگامی که یونس علیه السلام دریافت که خداوند به بندگانش در صورتی که کار نیک کنند مهربان است، در میان تاریکی ها فریاد می زد: «لا إله الا انت سبحانک إنی کنت من الظالمین» (سوره انبیا/ آیه 87)، معبودی جز خدای یکتا نیست ای خدا، تو پاک و منزه هستی و من از ستمگران هستم. خداوند دعای او را به استجابت رسانید و به ماهی فرمان داد تا او را به ساحل بیندازد. ماهی او را به کنار ساحل آورد و بیرون انداخت. خداوند در همانجا درخت کدو رویانید و یونس در سایه آن درخت آرمید و از مواهب الهی بهره مند شد و کم کم سلامتی خود را بازیافت.