Where is that smell coming from?
More than likely one of three places: trash, interior stains, or air vents. Each element has a specific cleaning procedure.
Trash
If you eat inside of your car bits of food may be left between seat cushions or underneath seats. Brush out seat tracks and cracks between console pieces with an old toothbrush. Pull out the floor mats and move the seats back and forth to ensure you can vacuum every spot.
Carpets and seats
Severely soaked carpet and seats may need to be replaced, but unless it has been hosed down or was exposed to the elements for long periods of time it should be salvageable. Place a household moisture absorber or several briquettes of charcoal on the seats and close the cabin completely. This will draw moisture out of the air which in turn will pull it out of the fabric.
For the most part fabric and carpet cleaners designed for household use can be used on car interiors. Vacuum-style carpet cleaners may leave the interior damp enough to cause mildew problems: only use these for small, heavily-soiled spots.
Don’t forget the trunk: Air from the trunk can still travel into the cabin, but it won’t be cooled by the air conditioner. This can increase odours on hot days.
Just like your hair, leather should be maintained with shampoo and conditioner. Car-specific leather shampoos are available at any auto parts store.
Spray-on protectants are just that: They only protect the car. These should be used after cleaning, not in place of it.
Cleaning the vents
If you only smell the odour when you use your A/C or heater, you have something stinky between you and the air outside. Sometimes this will also pick up odours from the engine compartment: If you smell oil check for leaks under the bonnet.
Air enters the system via a screened duct on the passenger-side of the car between the hood and windscreen. This air is then directed either through a heater core or an air condition coil depending on what the temperature lever is set at. From there the air is directed through the vents inside the cabin.
If there is a sweet smell coming from your ducts when the heater is on your heater core is leaking. This small radiator heats the interior using coolant from the engine; the smell comes from leaking antifreeze. If left unchecked this can lead to engine overheating.
Begin by cleaning the entrance duct. Wet leaves can collect on the duct’s surface creating a mildew smell.
Many cars made in the past decade have a cabin filter that removes pollen and other irritants from the air before it goes through the vents. The service interval for these devices and instructions for replacement can be found in your car’s user’s manual.
The rest of the system can be cleaned using a deodorizer. There are automobile-specific products on the market for cleaning the ducts. These need to be used twice: once with the A/C running and once with the heat running to ensure it reaches the entire duct system.
Removing other odours
If you’ve done all of the above and still have a smell it’s time to use deodorizers. Household deodorizers are effective, or you can place a bucket containing charcoal, baking soda, or white vinegar inside the car. It will take at least 24 hours for these methods to have their full effect.
I still smell something. Now what?
You have two choices.
Rent an ozone generator: These devices create large amounts of ozone which is vented into your cabin, cleaning every crack and crevice of the interior. Look for one rated for at least 3500mg/h. This high concentration of ozone is toxic: never run the machine while you are inside the vehicle.
Have it professionally cleaned: Some auto detail shops can clean your interior using cleaning chemicals not ordinarily available to the public. This may be expensive, but it’s a far cry from the cost of a new interior.