Are you talking about cigarette smoke? Personally, I believe once it's there, it will always be there to at least some extent. I'm real allergic to cigarette smoke, and if I leave my car with a mechanic that smokes, I all but make him fill out an affadivit that he won't smoke in my car.
It's almost impossible to completely get rid of that smell, cause it is absorbed in the fabric. It may fade after some very long time--months...but there will be a lingering "scent"...you may be able to mask it.
Try madly spraying the car with deodorizer...leave the windows shut for an hour...then leave the windows open for several hours (well, not today...if you are getting this snowstorm ;-))...that may help fade it too.
I won't even let someone who smokes in my car even if they aren't smoking at the time...just the smell on their clothes can leave behind an odor.
Thanx for the input everyone,
I've decided new years resolution #1:No smoking in the car!
Thats my only other alternative because everything else justs masks it.
(BTW, I was considering a product known only as 'XO'
It's used in dog kennels to control odor but thought that's going overboard)
Wash the entire interior with mild soapy water and use special cleaners on the surfaces that need them. Then take a rag and wet it with vanilla extract. Push this rag through the a/c vents and then leave the rag under a front seat. Do not wipe the interior with the extract!
Seal up the car and in 24 hours it should smell like ice cream.