Sunan Ibn Majah, Book 11, Hadith 2189 (In-Book)

It was narrated from 'Amr bin Shu'aib, from his father, that his grandfather said that the Prophet said: "Whoever swears an oath then sees that something else is better than it, let him not do it, and his leaving it is the expiation for it. "

حَدَّثَنَا عَبْدُ اللَّهِ بْنُ عَبْدِ الْمُؤْمِنِ الْوَاسِطِيُّ، حَدَّثَنَا عَوْنُ بْنُ عُمَارَةَ، حَدَّثَنَا رَوْحُ بْنُ الْقَاسِمِ، عَنْ عُبَيْدِ اللَّهِ بْنِ عُمَرَ، عَنْ عَمْرِو بْنِ شُعَيْبٍ، عَنْ أَبِيهِ، عَنْ جَدِّهِ، ‏.‏ أَنَّ النَّبِيَّ ـ صلى الله عليه وسلم ـ قَالَ ‏ "‏ مَنْ حَلَفَ عَلَى يَمِينٍ فَرَأَى غَيْرَهَا خَيْرًا مِنْهَا فَلْيَتْرُكْهَا فَإِنَّ تَرْكَهَا كَفَّارَتُهَا ‏" ‏ ‏.‏

sunnah.com