Cleaning
You first want to completely clean the car. This means getting all trash out and wiping down the inside with a cleaning product. You also want to completely vacuum the upholstery and the rug. Make sure all the surfaces are clean so that the smoke smell will not be able to hide anywhere.
Steam Cleaning
To get rid of the smoke smell from the upholstery you want to steam clean the interior. It is best to use an odor remover that uses an enzyme. This enzyme will break down the chemicals that are causing the smell. This is generally more expensive but is definitely worth the cost. This can get rid of smoke but if you have other odors, you first need to determine the cause so you can completely get rid of the smell.
The Duct System
Now you are ready to tackle the air duct system and completely remove the smoke from it. Get a good bottle of odor neutralizer. You want to park your car in a well ventilated area. If the weather is nice then park it outside. Make sure the parking brake is set and start the engine up. You want the fan and the air conditioner to be on full blast. Do not have the air recirculate but make sure you have the fresh air on.
The Air Intake
You want to look over at the front fender near the passenger side and find the air intake for the air conditioning and heater. Most of the time this is found just under the windshield, although it can be found in a different place depending on your car. You want to spray the deodorizer directly on the intake screen so it goes into the system. Go into the car to make sure it is getting into the system. The deodorizer will get the smoke out of the blower, evaporator, and ducting, all the places that smoke will stick.
Clean the Heater
Now you want to set the heater onto full heat. Keep spraying the deodorizer into the same air intake until you don’t smell any smoke. With the heater on, the deodorizer will clean the ducting, blower, and heating core.