For about 5 years I have been buying all sorts of whitening toothpastes and some are quite expensive and they just don't work. However, last year in a generous offer my DH offered to pay for me to have my teeth whitened.
I have a lovely dentist who made up a plastic toothguard and then showed me how to put a tiny dot of special peroxide into the toothguard for each tooth and I wore this during the night for 8 days.
I cannot tell you how pleased I am. I have not gone bright white like the telly people, but I no longer have yellow teeth stained by tea and red wine.
She said I can give myself a top up (may be annually) if I want. So as my DS's 40th birthday party is this June, I will use the top up which I will only need to put on for 2 nights.
Now to the cost. Some of you (like some of my friends say I am totally mad) but the guard and 8 night treatment cost £300 and the top up phial cost £15 for a 2 day treatment.
I don't regret a penny of it and I no longer need to buy expensive toothpaste that doesn't work.
Final word - the dentist advised against people going into Beauty Salons where they whiten your teeth on the spot with a bright light. She says that dries out the tooth and is not good for the long term health of your teeth. 
Mandelson's Global Consultancy Goes Bust...
Early Retirement - have you, would you ?
Another assassination attempt on Donald Trump
Recommendations for a carpet cleaner
Mandelson failed security vetting. Starmer says he didn’t know

.