كتاب الأيمان
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 c

'Adi reported Allah's Messenger (ﷺ) as saying:

When anyone amongst you takes an oath, but he finds (something) better than that he should expiate (the breaking of the oath), and do that which is better.
حَدَّثَنِي مُحَمَّدُ بْنُ عَبْدِ اللَّهِ بْنِ نُمَيْرٍ، وَمُحَمَّدُ بْنُ طَرِيفٍ الْبَجَلِيُّ، - وَاللَّفْظُ لاِبْنِ طَرِيفٍ - قَالاَ حَدَّثَنَا مُحَمَّدُ بْنُ فُضَيْلٍ، عَنِ الأَعْمَشِ، عَنْ عَبْدِ الْعَزِيزِ بْنِ رُفَيْعٍ، عَنْ تَمِيمٍ الطَّائِيِّ، عَنْ عَدِيٍّ، قَالَ قَالَ رَسُولُ اللَّهِ صلى الله عليه وسلم ‏ "‏ إِذَا حَلَفَ أَحَدُكُمْ عَلَى الْيَمِينِ فَرَأَى خَيْرًا مِنْهَا فَلْيُكَفِّرْهَا وَلْيَأْتِ الَّذِي هُوَ خَيْرٌ ‏"‏ ‏.‏
Reference : Sahih Muslim 1651c
In-book reference : Book 27, Hadith 24
USC-MSA web (English) reference : Book 15, Hadith 4058
  (deprecated numbering scheme)