If your couch cushions have zippers, you have a secret weapon. Remove the covers (if they come off) and machine-wash them on a cold cycle with a cup of white vinegar in the rinse cycle. Hot water can set the stain and the smell.
For the foam inside, wipe it down with a mild dish soap and water solution, then let it air dry completely before reassembling. Foam is like a sponge—it holds smells forever if you don’t clean it properly.
Think of it as a cooking show moment: “Now we’re going to deglaze the pan with some vinegar.” Except the pan is your sofa, and the deglazing is saving your social life.