Sayyiduna Abdullah bin Amr (may Allah be pleased with them) narrates: The Noble Prophet (peace and blessings be upon him) said: "Whoever takes an oath and then sees something better than it, he should do that which is better and give the expiation for his oath."
Hadith Referenceصحیح ابن حبان / كتاب الأيمان / 4347
Hadith Gradingفضيلة الشيخ الإمام محمد ناصر الدين الألبانيصحيح - «الإرواء» (168).فضيلة الشيخ العلّامة شُعيب الأرناؤوطإسناده حسن لغيره