Nicotine and tar from smoking will cause the walls in a room to yellow. The chemicals from the cigarettes build-up on the walls, leaving a greasy film. Water-based paints and primers are ineffective at covering these stains, which will just soak through the painted-on layers. To paint nicotine-stained walls, you must clean the walls and then paint over them with an oil-based primer.
Mix trisodium phosphate, or TSP, cleaner and water in a large bucket according to the package directions.
Dip a sponge mop into the TSP cleaner solution and scrub the walls from top to bottom. Dip the sponge mop back into the TSP solution whenever the mop begins to dry out.
Empty the bucket and fill it with clean water. Rinse out the sponge mop. Dip the sponge mop into the bucket and wipe down the walls again to rinse off any remaining cleaner. Let the walls dry for 24 hours.
Line the floors beneath the walls with dust sheets to protect the flooring. Cover any furniture in the room with dust sheets as well.
Cover outlets and window frame edges with painter's tape.
Fill a paint tray with an oil-based, stain-blocking primer. This sort of primer will prevent any remaining stains from migrating through the paint. Dip a roller brush into the primer.
Paint the primer onto the wall in even strokes that overlap. Cover the entire wall with the primer and let it dry according to the package directions. One coat is enough to block the nicotine stains.
Rinse out the paint tray and the roller brush in clean water and let them dry while the primer dries. Refill the paint tray with an oil- or latex-based paint of your choice.
Apply the paint over the primer in the same way you applied the primer. Let the paint dry for three hours, then apply another coat if you want a deeper colour. Let the second coat dry overnight, then remove the painter's tape and dust sheets.