كتاب الأيمان
27  
The Book of Oaths
(3)
Chapter: It is recommended for the one who swears an oath then sees that something else is better than it; To do that which is better and offer expiation for his oath
(3)
باب نَدْبِ مَنْ حَلَفَ يَمِينًا فَرَأَى غَيْرَهَا خَيْرًا مِنْهَا أَنْ يَأْتِيَ الَّذِي هُوَ خَيْرٌ وَيُكَفِّرَ عَنْ يَمِينِهِ
Sahih Muslim 1651 e

Tamim b. Tarafa reported that he heard 'Adi b. Hatim say that a person came to him and asked for one hundred dirhams. He ('Adi) said:

You asked me for one hundred dirhams and I am the son of Hatim; by Allah, I will not give you. But then he said: (I would have done that) if I had not heard Allah's Messenger (ﷺ) say: He who takes an oath, but then finds something better than that, should do that which is better.
حَدَّثَنَا مُحَمَّدُ بْنُ الْمُثَنَّى، وَابْنُ، بَشَّارٍ قَالاَ حَدَّثَنَا مُحَمَّدُ بْنُ جَعْفَرٍ، حَدَّثَنَا شُعْبَةُ، عَنْ سِمَاكِ بْنِ حَرْبٍ، عَنْ تَمِيمِ بْنِ طَرَفَةَ، قَالَ سَمِعْتُ عَدِيَّ بْنَ حَاتِمٍ، وَأَتَاهُ، رَجُلٌ يَسْأَلُهُ مِائَةَ دِرْهَمٍ ‏.‏ فَقَالَ تَسْأَلُنِي مِائَةَ دِرْهَمٍ وَأَنَا ابْنُ حَاتِمٍ وَاللَّهِ لاَ أُعْطِيكَ ‏.‏ ثُمَّ قَالَ لَوْلاَ أَنِّي سَمِعْتُ رَسُولَ اللَّهِ صلى الله عليه وسلم يَقُولُ ‏ "‏ مَنْ حَلَفَ عَلَى يَمِينٍ ثُمَّ رَأَى خَيْرًا مِنْهَا فَلْيَأْتِ الَّذِي هُوَ خَيْرٌ ‏"‏ ‏.‏
Reference : Sahih Muslim 1651e
In-book reference : Book 27, Hadith 26
USC-MSA web (English) reference : Book 15, Hadith 4060
  (deprecated numbering scheme)