This suggestion already made but it worked for me....lotsa baking soda.
I bought a car that the transmission blew, heavy heavy smokers had owned.It sat for three years in the sun with ashtrays full and no care before someone gave it new life and a new transmission.
Needless to say the smoke smell was well baked in. The Heavy smokers were driving it again and the old renewed with new.Well then they decide to trade it in coz its old (to them) and they needed something newer to ruin. It lands at my buddys a car lot, he tells me all about it and I buy it. He warns me of the smoke smell. We take it to his detailers and after the wet carept smell evaporated the smoke smell was back witha vengance. So I decided I cant have that and called Mike to tell him our deal was approaching the off position. His wife said take baking soada out there tonite, at least three boxes and pour it all over everything you can see. Leave it there a few days even if you have to brush away enought just to drive.Three days later we vacummed it out and its gone.A year later, just got in from the store, and its still gone.