Sahih Muslim , Book 27, Hadith 19 (In-Book) ⓘ
Abu Huraira reported Allah's Messenger as saying: He who took an oath and then found another thing better than (this) should expiate for the oath (broken) by him and do (the better thing).
وَحَدَّثَنِي أَبُو الطَّاهِرِ، حَدَّثَنَا عَبْدُ اللَّهِ بْنُ وَهْبٍ، أَخْبَرَنِي مَالِكٌ، عَنْ سُهَيْلِ بْنِ أَبِي، صَالِحٍ عَنْ أَبِيهِ، عَنْ أَبِي هُرَيْرَةَ، أَنَّ رَسُولَ اللَّهِ صلى الله عليه وسلم قَالَ " مَنْ حَلَفَ عَلَى يَمِينٍ فَرَأَى غَيْرَهَا خَيْرًا مِنْهَا فَلْيُكَفِّرْ عَنْ يَمِينِهِ وَلْيَفْعَلْ " .
also referenced under: Hadith 1650 (Reference) & Book 15, Hadith 4053 (USC-MSA)