What gets the smell of vomit out of sofa cushions?
The smell is not going to come out unless you clean that coushion really good you dont want to just cover the smell you want to like disinfect it. Which is a good way to start like that kitchen floor cleaner. I think it is Lestoil very potent stuff and it will clean it good.
Let the water in your kitchen sink run continuously--the noise should cancel out the smell quite well. Quite.
Go to a feed or pet store and get the product Natures Miracle for pet odors. Read the labels, cause there's also one for skunk (that really works!!) and there may be others. It's an enzyme and will eat the source of the odor. I've used this on pet odors for years, it's great stuff.
Yuck! I don't know what all you've tried, but I would start with something simple like Febreeze. You can saturate the area with Febreeze, and after it dries see what it smells like. I'm assuming you've washed the cover from the cushions ... if Febreeze doesn't work, you might consider getting replacement cushions. You can get them really cheap at some discount warehouse stores. Then, just put your covers back on the new ones.
Wash the sofa cushion with a vinegar solution. Lay out in the sun to dry. Apply baking soda to the cushion if it still has a smell and lay in the sun a little longer. The odor should hopefully be gone.