Last week, my mom bought a new home. The former owners were heavy smokers, so the home had been on the market for eight months with few offers. The former owner's family didn't want to clean it, so the price kept dropping. My mom offered half of what they were asking, and they accepted. She got a great deal, but we had a lot of work to do! Here's what we did to get rid of the smoke smell in her home.
Paint
The first thing we did was paint the ceilings with Kilz paint. Regular paint won't always cover the smell, but Kilz works great. She didn't want to paint the walls, so we moved on to the next step.
Walls
To wash the walls, you'll need a lot of rags, several buckets, and a cleaner. First, we scrubbed every surface, nook, and cranny with diluted Purple Power. It's a concentrated degreaser found in the automotive department at Walmart for about $5 a gallon. We used about a cup per gallon of water.
We would scrub a 2-3 foot section of wall and rinse the rag in the sink before dipping it in the water again. When it got really yellow, we soaked it in bleach water.
Even with rinsing the rags out before putting them in the water, we still went through a lot of buckets! If we did this again--and I hope we do not!--I would fill a spray bottle with diluted cleaner and spray it on the walls.
This got a lot off and the smell was gone, but the bedroom and living room were still yellow. We washed them again with Mean Green. We bought it at Dollar General for $5 a gallon or $1 for a small bottle if you want to try it. We sprayed the Mean Green on the walls and watched the yellow streaks roll down. We used a new rag for each 4 foot section. Like I said, this takes a lot of rags!
A note of caution: Mean Green is potent stuff. Open all of the windows, use fans, and take breaks for fresh air. Always test it on the surface to make sure it won't ruin the surface. We did not use it on wood. Be careful not to mix it with bleach either. We rinsed the rags very, very well and put them in a weak bleach solution. Then we moved them to plain water to soak and rinsed them again. We reused them when they were dry.
Carpets
Once the walls were clean, I vacuumed the carpets and scrubbed them. I used my trusty Hoover scrubber with Purple Power in the tank. I diluted it 1:1 to put in the solution tank. If you have an older model that you put the solution with the water, use one cup of Purple Power per tank. Hoover, of course, does not recommend that you use anything other than their solution. I've used Purple Power and other cleaners in my scrubbers for years without any problems. I will caution you to do this at your own risk because it will probably void your warranty.
Each night, we opened all of the cabinet doors and closet doors. We bought a new furnace filter, ran an air cleaner, and kept the windows open as much as we could. It took two days, but the smell is gone save a small closet. We wadded up newspaper and closed it overnight. The next night, we set a cup of baking soda in it. The smell is very, very faint now.
I can't guarantee that this will work for you, but it worked for us. Just keep cleaning until there's no more yellow and always test cleaning products before using them. Good luck!